2017-07-24 106 views
1

我有JComboBox的问题,我没有看到它在我的窗口中。我不知道我做错了什么。 我在代码中添加了JComboBox的坐标,但运行代码后无法看到它。Java JComboBox无法看到

我的代码:

所有的
import java.awt.FlowLayout; 
import javax.swing.JButton; 
import javax.swing.JComboBox; 
import javax.swing.JFrame; 
import javax.swing.JLabel; 
class klasa extends JFrame 
{ 
    public klasa() 
    { 
     super("Program to obliczania wartosci logicznych"); 
     setSize(300, 250); 
     setVisible(true); 
     JButton oblicz = new JButton("Oblicz"); 
     oblicz.setBounds(190, 160, 80, 40); 
     add(oblicz); 
     String[]opcje= {"OR","AND","XOR"}; 
     JComboBox<String> lista = new JComboBox<>(opcje); 
     lista.setBounds(150, 150, 2, 4); 
     add(lista); 
     //lista.setVisible(true); 
    } 

    public static void main(String[] args) 
    { 
    klasa k1 = new klasa(); 
    } 
} 
+0

显示您的JCombobox,但重叠了一个按钮 - 只需调整窗口大小并查看。看起来你应该使用一些布局来修复这个问题,并使用元素坐标来玩 –

回答

1

首先,你不为你的框架,这意味着在默认情况下,它的使用BorderLayout的设置布局。所以你把两个物体放在一起。

除此之外,尝试在事件指派线程实例化你的框架。使用您的代码库会是这个样子:

import javax.swing.JButton; 
import javax.swing.JComboBox; 
import javax.swing.JFrame; 
import javax.swing.SwingUtilities; 

public class klasa extends JFrame { 

    public JComboBoxExample() { 
     super("Program to obliczania wartosci logicznych"); 

     this.setLayout(null); 

     setSize(300, 250); 
     setVisible(true); 
     JButton oblicz = new JButton("Oblicz"); 
     oblicz.setBounds(190, 160, 80, 40); 
     add(oblicz); 
     String[]opcje= {"OR","AND","XOR"}; 
     JComboBox<String> lista = new JComboBox<>(opcje); 
     lista.setBounds(150, 150, 20, 40); 
     add(lista); 
    } 

    public static void main(String[] args) { 

     SwingUtilities.invokeLater(new Runnable() { 

      @Override 
      public void run() { 
       new klasa(); 
      } 

     }); 

    } 

} 

退房的doc以获取更多信息。

+0

谢谢,它的工作 –

0

放置的setSize和JComboBox中后调用setVisible方法。

class klasa extends JFrame 
{ 
    public klasa() 
    { 
     super("Program to obliczania wartosci logicznych"); 
     //setSize(300, 250); Comment this section out 
     //setVisible(true); Comment this section out 
     JButton oblicz = new JButton("Oblicz"); 
     oblicz.setBounds(190, 160, 80, 40); 
     add(oblicz); 
     String[]opcje= {"OR","AND","XOR"}; 
     JComboBox<String> lista = new JComboBox<>(opcje); 
     lista.setBounds(150, 150, 2, 4); 
     add(lista); 
     //lista.setVisible(true); 
     setSize(300, 250); 
     setVisible(true); 
    } 

    public static void main(String[] args) 
    { 
     klasa k1 = new klasa(); 
    } 
} 
+0

它没有工作,这和第一个问题一样 –