[ bognjen @ 27.04.2007. 13:50 ] @
Kad JPanel napunim sa potrebnim elementima i hocu da ga postavim na JFrame ne moze da se rasiri preko cijelog frame-a. Usvojio sam BorderLayout za Frame. Kako ovo da rijesim |
[ bognjen @ 27.04.2007. 13:50 ] @
[ rj444 @ 27.04.2007. 15:38 ] @
Code: frame.setContentPane(panel); [ bognjen @ 28.04.2007. 08:58 ] @
Hvala za kod ali ipak ne radi ono sto mi treba. Nije mi problem postaviti panel na frame ali je problem postaviti panel preko cijelog frame-a.
[ rj444 @ 29.04.2007. 23:48 ] @
Mozda mozes uraditi nesto metodom pack() objekta frame, koja je nasledjena iz klase Window.
[ djuxy @ 30.04.2007. 02:06 ] @
>
A jesi probao ovo: Code: frame.setLayout(new BorderLayout()); frame.add(panel, BorderLayout.CENTER); po defaultu je valjda FlowLayout, pa komponente redja u nizu i ne preko cele povrsine... Pozdrav ------=_Part_158274_1964063.1177895042458 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline <div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">esauth:258374:a63d3d8b7086e77bb6a83f397298b0f8<br> [ bognjen @ 30.04.2007. 10:09 ] @
Bas sam tako i uradio,preko BorderLayout-a, ali se opet vide ivice panela tj. odmaknut je sa strana od frame-a. Probao sa i preko Box Layout-a i dobijem isto. Sad sam bez ideja, stvarno nemogu da skontam sto nece da ga razvuce preko cijelog frame-a. Za frame je ja mislim po defaultu BorderLayout.
[ rj444 @ 30.04.2007. 14:44 ] @
Proveri da nisi podesio u panelu maximumSize, na nesto sto je manje od frame-a, pa onda ne moze da se razvuce.
Ako mozes postuj kod frame-a i panela pa da vidimo u cemu je caka. [ bognjen @ 03.05.2007. 07:22 ] @
E ljudi evo problematicnog koda:
Code: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.*; import javax.swing.border.BevelBorder; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class Paneli extends JFrame { public Paneli(){ JFrame frejm = new JFrame ("ime_frejma"); frejm.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); Object[] [] musicData = { {"Tschaikovsky", "1812 Overture", new Boolean(true)}, {"Stravinsky", "Le Sacre", new Boolean(true)}, {"Lennon","Eleanor Rigby", new Boolean(false)}, {"Wagner", "Gotterdammerung", new Boolean(true)} }; String[] columnNames = {"Composer", "Title", "Orchestral"}; JTable table = new JTable(musicData, columnNames); table.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); JScrollPane sp = new JScrollPane(table); Box hbox1 = Box.createHorizontalBox(); Box hbox2 = Box.createHorizontalBox(); Box vbox = Box.createVerticalBox(); JPanel prvi = new JPanel(); prvi.add(table); JPanel drugi = new JPanel(); drugi.add(new JLabel("drugi panel")); JPanel gl_jp = new JPanel(); hbox1.add(prvi); hbox2.add(drugi); vbox.add(hbox1); vbox.add(hbox2); gl_jp.add(vbox); frejm.getContentPane().add(gl_jp); frejm.setSize(300, 400); frejm.setVisible(true); } public static void main(String[] args) { Paneli pan = new Paneli(); } } [ djuxy @ 03.05.2007. 14:24 ] @
>
A moze li ovako: Code: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.*; import javax.swing.border.BevelBorder; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; public class Paneli extends JFrame { public Paneli() { this.setTitle("ime frejma"); this.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); this.setLayout(new BorderLayout()); Object[][] musicData = { { "Tschaikovsky", "1812 Overture", new Boolean(true) }, { "Stravinsky", "Le Sacre", new Boolean(true) }, { "Lennon", "Eleanor Rigby", new Boolean(false) }, { "Wagner", "Gotterdammerung", new Boolean(true) } }; String[] columnNames = { "Composer", "Title", "Orchestral" }; JTable table = new JTable(musicData, columnNames); table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS); JScrollPane sp = new JScrollPane(table); JPanel prvi = new JPanel(); JPanel drugi = new JPanel(); prvi.setLayout(new GridLayout(1,1)); prvi.add(sp); drugi.add(new JLabel("drugi panel")); add(prvi, BorderLayout.CENTER); add(drugi,BorderLayout.SOUTH); setSize(300, 400); setVisible(true); } public static void main(String[] args) { Paneli pan = new Paneli(); } } Pozdrav ------=_Part_25990_8433901.1178198504308 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline <div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">esauth:258374:a63d3d8b7086e77bb6a83f397298b0f8<br> [ rj444 @ 03.05.2007. 22:08 ] @
Citat: frejm.getContentPane().add(gl_jp);[/code] U ovome je problem. Ti dohvatas contentPane i na njega dodajes svoj panel kao novu komponentu. Imas dva panela, jedan na drugom i zato se vidi ivica ovog panela gl_jp, za koju ne zelis da se vidi. Samo stavi kao sto sam ti napisao u prvom postu: Code: frejm.setContentPane(gl_jp); [ bognjen @ 05.05.2007. 10:49 ] @
E ljudi hvala, proradilo je. Skinuo sam sa net-a NetBeans 5.5 tako da sam sebi malo olaksao stvari sa Layout-ima.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|