1 van 1

Resize van button in java gui

Geplaatst: za 19 feb 2011, 17:02
door In physics I trust
Hallo,

ik ben een beetje aan het experimenteren met de GUI geleverd door de swing-lib van java, maar ik stoot op het volgende probleem:
mEnlargeButton.setBounds(5, 5, 40, 40);
zou, naar mijn mening de button quasi lingsboven op het panel moeten plaatsen en een hoogte en breedte geven van 40 px.

Als ik run, blijft de knop echter hardnekkig gecentreerd staan in het midden en bovenaan.
java
java 766 keer bekeken

Re: Resize van button in java gui

Geplaatst: za 19 feb 2011, 17:27
door In physics I trust
Ook het volgende levert geen resultaat:
Box boxVertical = Box.createVerticalBox();

Box boxHorizontal = Box.createHorizontalBox();





Container container = getContentPane(); // hierin zetten we onze componenten

container.add(boxVertical);

mEnlargeButton = new JButton("Do something");

boxVertical.add(Box.createVerticalStrut(10)); // verticale spatie boven de button

boxVertical.add(mEnlargeButton);

mEnlargeButton.setAlignmentX(LEFT_ALIGNMENT);

Re: Resize van button in java gui

Geplaatst: za 19 feb 2011, 19:14
door ZVdP
Heb je expliciet 'null' in de constructor gezet van je JPanel?

Dus: JPanel(null)

Anders werks setBounds(...) niet, want dan wordt de layout bepaald door de layoutManager van de JPanel

Edit: ik zie juist in je code stukje, dat je niet rechtstreeks met een JPanel werkt.

Voeg volgende lijn voordat je de button toevoegt eens toe: container.setlayout(null)

Re: Resize van button in java gui

Geplaatst: zo 20 feb 2011, 09:12
door In physics I trust
Erg bedankt, ik zal de tip goed onthouden!

Re: Resize van button in java gui

Geplaatst: zo 20 feb 2011, 11:04
door EvilBro
Bij dit soort vragen is een Short, Self Contained, Correct (Compilable), Example vaak erg handig.

Re: Resize van button in java gui

Geplaatst: zo 20 feb 2011, 11:27
door In physics I trust
Ik zat nog met een conceptuele vraag, di neerkomt op het volgende.

Ik heb een class, waarin ik een nieuw frame aanmaak.

Code: Selecteer alles

SimpleFrameLayout frame = new SimpleFrameLayout("Simulatie");
Binnen de SimpleFrameLayout, maak ik twee Panels aan, mypanel en mypanel2.

Op eke panel plaats ik verschillende knoppen.

Nu beschouw ik het ene panel als een soort knoppenbalk met bepaalde opties die niet altijd even relevant zijn. Op het andere panel had ik dus graag een knop show/hide toegevoegd om het eerste panel te verbergen.

Ik wil dus een method schrijven Hide(Panel mypanel) die het volgende inhoudt:

Code: Selecteer alles

mypanel.setVisible(false);
en die om het even welk panel op mijn frame kan verbergen.

Waar moet ik nu die functie plaatsen, en hoe zorg ik ervoor dat de panels die zijn toegevoegd op het frame, zichtbaar zijn zodat ik ze als argument kan meegeven?

Ik vraag zeker geen hele code, ik vraag me enkel af met welke redenering ik zelf tot het antwoord op deze vraag zou kunnen komen?
java2
java2 767 keer bekeken

Re: Resize van button in java gui

Geplaatst: zo 20 feb 2011, 20:35
door 317070
In fysics I trust schreef:Ik zat nog met een conceptuele vraag, di neerkomt op het volgende.

Waar moet ik nu die functie plaatsen, en hoe zorg ik ervoor dat de panels die zijn toegevoegd op het frame, zichtbaar zijn zodat ik ze als argument kan meegeven?
Je moet een ActionListener maken waarin je die methode plaatst. En die ActionListener moet je toevoegen aan je knop.

Re: Resize van button in java gui

Geplaatst: zo 27 feb 2011, 13:18
door In physics I trust
Ik was je antwoord vergeten bekijken, (ik had het net gevonden ;) )maar alsnog bedankt voor je vraag.

Intussen ben ik een soortgelijk fenomeen tegengekomen:

Mijn Jslider resizet bij het het verslepen van de slideknop die erbij hoort...

Ik vind niet direct wat de reden ervan is.

Iemand die het wel weet of hetzelfde heeft meegemaakt?

Alvast bedankt!

Re: Resize van button in java gui

Geplaatst: zo 27 feb 2011, 13:25
door ZVdP
Plak het stukje code betreffende de JSlider hier eens.

Re: Resize van button in java gui

Geplaatst: zo 27 feb 2011, 14:14
door In physics I trust

Code: Selecteer alles

JSlider voltSlider = new JSlider(20, 100, 65);

			voltSlider.setMinorTickSpacing(5);

			voltSlider.setMajorTickSpacing(20);

			voltSlider.setPaintTicks(true);

				voltSlider.setPaintLabels(true);

		   

			   voltSlider.addChangeListener(new ChangeListener() {

					  public void stateChanged(ChangeEvent evt) {

					  JSlider slider = (JSlider) evt.getSource();

					  if (!slider.getValueIsAdjusting()) {

					  int value = slider.getValue();

					  System.out.println(value);

					  voltage=value;

					  voltagebutton.setText("Set fixed at "+String.valueOf(voltage)+" V");

		  

		}

	  }

	});

Re: Resize van button in java gui

Geplaatst: wo 02 mar 2011, 10:05
door ZVdP
Met bovenstaande code krijg ik je probleem niet gereproduceerd...

Ik zie er ook niets mis aan. (Buiten dat ik aanraad om elke overridende method ook daadwerkelijk met @Override te annoteren)

Re: Resize van button in java gui

Geplaatst: za 05 mar 2011, 11:13
door In physics I trust
Het is inderdaad vreemd, want intussen krijg ik het probleem ook niet meer gereproduceerd (frisse herstart van de computer).

Het is inderdaad een goede top om de override expliciet aan te geven, bedankt!