2013-06-01 2 views
0
public void createWindow2(){ 
     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
     setPreferredSize(new Dimension(400, 500)); 
     setLocationRelativeTo(null); 
     setContentPane(new JLabel(new ImageIcon("src\\resources\\registerBg.png"))); 
     setResizable(false); 
     setVisible(false); 


     double size[][] = {{TableLayout.FILL,70,10,200,TableLayout.FILL}, //COLUNAS 
       {TableLayout.FILL,30,5,30,5,30,5,30,5,30,5,30,82.5,30,82.5}}; //LINHAS 
     setLayout(new TableLayout(size)); 

(...)Имея выпуск TableLayout

//Botoes JPanel 
      buts = new JPanel(); 
      double size2[][] = {{TableLayout.FILL,100,5,100,TableLayout.FILL}, //COLUNAS 
        {TableLayout.FILL}}; //LINHAS 
      buts.setLayout(new TableLayout(size2)); 
      add(buts,"0,4,13,13"); 
       //Continuar 
       continuar = new JButton("Continuar"); 
       buts.add(continuar,"1,0"); 
       //Voltar 
       voltar =new JButton("Voltar"); 
       buts.add(voltar,"3,0"); 

Вот образ этого Рама работает

http://oi42.tinypic.com/m83cko.jpg

Я был много времени, чтобы найти Tryin почему кнопки не появляются, но я не нашел причины, может ли кто-нибудь помочь мне с этой проблемой?

+0

Java качели (его называют к визуальному коду программирует языка «Java») http://en.wikipedia.org/wiki/Swing_(Java) –

+1

Я знаю, что Java и свинг есть, но снова что такое JSwing? Я не видел этот термин, и я сомневаюсь, что он действительно существует в этом контексте. Задавая вопросы здесь, старайтесь быть точными, чтобы избежать путаницы. –

+0

Где вы скачали TableLayout? Каков источник вашей библиотеки? Он не является частью стандартных макетов Swing и, вероятно, имеет API, который идет с библиотекой, которая может помочь вам и нам решить вашу проблему. –

ответ

-1

Просто думая с головы, но этот код будет работать на вас. По-видимому, вы неправильно добавляете кнопки; по крайней мере, с моей точки зрения. Код ниже будет работать для вас.

public class ButtonFrame extends JFrame 
{ 
    private JButton plainJButton; 
} 

public ButtonFrame() { 
    plainJButton = new JButton("Plain Button"); 
    add(plainJButton); 
} 
+0

Это не сработает, потому что я установил макет фрейма в «TableLayout» [setLayout (новый TableLayout (размер));], и этот макет работает с массивами, где вы устанавливаете строки и строки фрейма, поэтому, когда вы добавляете объект, который вам нужно указать в строке и строке, которую вы хотите добавить. Вы можете получить более подробную информацию об этом макете здесь: http://www.clearthought.info/sun/products/jfc/tsc/articles/tablelayout/index.html –

+0

Вам нужно сделать это таким образом? LayoutManager (в пакете java.awt) является санкционированным способом его выполнения. В этом случае у вас есть ** [GridLayout] (http://docs.oracle.com/javase/6/docs/api/java/awt/GridLayout.html) **, который может выполнить что-то похожее на то, что вы ищете для. – kgdesouz

+0

@kgdesouz: GridLayout было бы ужасно использовать для этой цели табличное оформление ярлыка и текстового поля. Гораздо лучше будет GridBagLayout, GroupLayout или MigLayout. –

Смежные вопросы