Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



gridbaglayout

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: gridbaglayout

Autor: mKorbel

8:44:02 10.05.2011

nie zrovna najvhodnejsie, trochu je to tam ...., ItemListener http://download.oracle.com/javase/tutorial/uiswing/events/itemlistener.html ma dve polohy, ktore su vzdy odchytitelne podla metod implementovanych v API, teda nikdy nic ine ako:

[code]
public void itemStateChanged(ItemEvent e) {
if(e.getStateChange()==ItemEvent.SELECTED){
//selected new item
}else if(e.getStateChange()==ItemEvent.DESELECTED){
//deselected old Item
}
}
[/code]

podobne je to aj s ostatnymi Listeners(aj 4krat), kolko method ma implementovanych z API, tolko krat definiciu listener prebehne

Citovat příspěvek

 

Re: gridbaglayout

Autor: Maaartin

23:59:32 09.05.2011

> [ital]Vse funguje bezvadne, dokud nevyberu polozku v chose. Potom se to co je v memtode itemStateChanged provede 2x. Vubec tomu neorzumim, teto komponente mam prirazen jen tenhle ItemListener.[/ital]

To pry neni bug ale ficurka. :D

http://stackoverflow.com/questions/330590/why-is-itemstatechanged-on-jcombobox-is-called-twice-when-changed/330607#330607

Citovat příspěvek

 

Re: gridbaglayout

Autor: mol

23:46:42 09.05.2011

Jarda33 Napsal:
-------------------------------------------------------
> Jeste bych se chtel zeptat, jak se formatuje kod
> tady na Buideru. Dik.

Kod das mezi [ c o d e ] a [ / c o d e ] (pochopitelně bez mezer). Pokud pouzivas FF 3.6 muzes zkusit userscript [url]http://moltools.sourceforge.net/lopuch/?n=Main.Builder[/url]

Citovat příspěvek

 

Re: gridbaglayout

Autor: Jarda33

23:20:28 09.05.2011

Jeste bych se chtel zeptat, jak se formatuje kod tady na Buideru. Dik.

Citovat příspěvek

 

Re: gridbaglayout

Autor: Jarda33

23:19:04 09.05.2011

Tak jsem se rozhodl s tim nepiplat a budu to mit trosku osklivejsi...

[ital]TO mKorbel

verim, ze na to teraz prides aj sam

http://www.java2s.com/Tutorial/Java/0240__Swing/1460__GridBagLayout.htm

http://www.java2s.com/Tutorial/Java/0240__Swing/1480__GridBagConstraints.htm [/ital]

Pochopil jsem to, ale dela to presne to co jsem nechtel, pri zvetseni okna se to rozplyzne, ale i tak diky za radu.

Diky za MigLayaut, urcite se mi bude hodit do budoucna.

Jeste ted mam jeden problem, kteremu vubec nerozumim.Mam nasledujici kod:

private String[] = {"honza", "jarda"}
private JComboBox chose;

GUI_konstruktor(){
chose = new JComboBox(names);
chose.addItemListener(new ChoseCB_AL());
}


class Chose_AL implements ItemListener {
@Override
public void itemStateChanged(ItemEvent e) {

String s = chose.getSelectedItem().toString();
System.out.println(s);

}
}

Vse funguje bezvadne, dokud nevyberu polozku v chose. Potom se to co je v memtode itemStateChanged provede 2x. Vubec tomu neorzumim, teto komponente mam prirazen jen tenhle ItemListener. Zkousel jsem komponentu Choice a u ni vse bezelo v poradku.

Citovat příspěvek

 

Re: gridbaglayout

Autor: mKorbel

21:09:58 09.05.2011

v tomto iba suhlasim, pre zaciatocnikov, ktori sa nemaju cas (lebo hovorim o mesiacoch) ucit Java LayoutManagers je to vinikajuca volba

Citovat příspěvek

 

Re: gridbaglayout

Autor: Maaartin

20:45:21 09.05.2011

Nevim ale doporucuju http://www.miglayout.com. Sice jsem s nim toho jeste moc nedelal, ale zatim vsecko fungovalo tak jaxem chtel a bylo to mnohem jednodussi nez to bastlit nakym jinym lejoutem.

One Layout to rule them all.

Citovat příspěvek

 

Re: gridbaglayout

Autor: mKorbel

17:46:51 09.05.2011

verim, ze na to teraz prides aj sam

http://www.java2s.com/Tutorial/Java/0240__Swing/1460__GridBagLayout.htm

http://www.java2s.com/Tutorial/Java/0240__Swing/1480__GridBagConstraints.htm

[code]
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class GridBagWithAnchor {

public static void main(String[] args) {
JFrame f = new JFrame("Demonstrates the use of anchor constraints");
JPanel p = new JPanel(new GridBagLayout());
p.setLayout(new GridBagLayout());
GridBagConstraints c = new GridBagConstraints();
c.insets = new Insets(2, 2, 2, 2);
c.weighty = 1.0;
c.weightx = 1.0;
c.gridx = 0;
c.gridy = 0;
c.gridheight = 2;
c.anchor = GridBagConstraints.NORTH; // place component on the North
p.add(new JButton("Java"), c);
c.gridx = 1;
c.gridheight = 1;
c.gridwidth = 2;
c.anchor = GridBagConstraints.SOUTHWEST;
p.add(new JButton("Source"), c);
c.gridy = 1;
c.gridwidth = 1;
c.anchor = GridBagConstraints.CENTER; // remember to rest to center
p.add(new JButton("and"), c);
c.gridx = 2;
p.add(new JButton("Support !!!"), c);
WindowListener wndCloser = new WindowAdapter() {

@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
};
f.addWindowListener(wndCloser);
f.getContentPane().add(p);
f.setSize(600, 200);
f.setVisible(true);
}

private GridBagWithAnchor() {
}
}[/code]

[code]
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.util.List;

import javax.swing.*;

/**
* http://forums.sun.com/thread.jspa?threadID=553713
*/
public class OutlookNavigationBarDemo implements Runnable {

private String[] names = {"Mail", "Calendar", "Contacts", "Tasks", "Notes"};

public void run() {
FloorTab floorTab = new FloorTab();
for (int i = 0; i < names.length; i++) {
JPanel jp = new JPanel();
jp.setBorder(BorderFactory.createTitledBorder(names[i]));
floorTab.addTab(names[i], jp);
}
JFrame f = new JFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().add(floorTab, BorderLayout.CENTER);
f.setSize(200, 400);
f.setLocationRelativeTo(null);
f.setVisible(true);
}

public static void main(String[] args) {
SwingUtilities.invokeLater(new OutlookNavigationBarDemo());
}
}

class FloorTab extends JPanel implements ActionListener {

private static final long serialVersionUID = 1L;
private GridBagConstraints gbc = new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0,
GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0);
private GridBagLayout gbl = new GridBagLayout();
private CardLayout cl = new CardLayout();
private JPanel panels = new JPanel(cl);
private List buttons = new ArrayList();

FloorTab() {
setLayout(gbl);
add(panels, gbc);
gbc.fill = GridBagConstraints.HORIZONTAL;
gbc.weighty = 0.0;
}

public void addTab(String name, JPanel panel) {
gbc.gridy = getComponentCount();
if (gbc.gridy == 1) {
gbc.gridy = 0;
}
JButton jb = new JButton(name);
jb.addActionListener(this);
add(jb, gbc);
buttons.add(jb);
panels.add(name, panel);
}

public void actionPerformed(ActionEvent event) {
int y = 0;
GridBagConstraints tmp;
JButton srcButton = (JButton) event.getSource();
for (int i = 0; i < buttons.size(); i++) {
JButton jb = buttons.get(i);
tmp = gbl.getConstraints(jb);
tmp.gridy = y++;
gbl.setConstraints(jb, tmp);
if (srcButton == jb) {
tmp = gbl.getConstraints(panels);
tmp.gridy = y++;
gbl.setConstraints(panels, tmp);
}
}
cl.show(panels, srcButton.getText());
}
}[/code]

Citovat příspěvek

 

Re: gridbaglayout

Autor: Jarda33

17:43:11 09.05.2011

Koukam ze prilohy nefungujou... Tak znova. Rekneme ze chci mit dve tlacitka nahore v panelu a pod mimi hned dve dalsi tlacitka. Problem nastava, kdyz okno zvetsim,to bud tlacitka zustanou na stredu panelu (a maji svuj prirozeny tvar ci mezery mezi s sebou), nebo kdyz umoznim roztahovani, tak se tlacitka od sebe neprirozene odtahnou (nebo se neprirozene roztahnou). A ja jen chci aby se mi tlacitka roztahovala po ose x (to umim v pohode), ale pri roztazeni po ose y nechci aby mi tlacitka behala po panelu, chci aby se snazily byt umisteny co nejvys ve svych prirozenych rozmerech na ose y. Vim ze to je popsano velmi kostrbate, ale pokud nekdo delal ve VS v C# nebo v QT creatoru pro C++, tak mi snad rozumi.

Citovat příspěvek

 

gridbaglayout

Autor: Jarda33

17:31:28 09.05.2011

Ahoj

Vylozene se trapim s GUI. Delam to za pomoci gridbaglayout a porad to neni ono... Jediny co chci, je aby komponenty se pri roztaeni okna zustali umisteny nahore a aby se roztahli jen do stran.

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: