Java Swing应用程序屏幕上未显示任何内容
好的,如果可能的话,我将使用纯swing开始一个新的应用程序开发,所以我设置了我的对象和东西,当我尝试运行应用程序以查看它是否良好时,除了一个空容器外,什么都没有显示。在构造函数的末尾添加这两行Java Swing应用程序屏幕上未显示任何内容,java,swing,user-interface,Java,Swing,User Interface,好的,如果可能的话,我将使用纯swing开始一个新的应用程序开发,所以我设置了我的对象和东西,当我尝试运行应用程序以查看它是否良好时,除了一个空容器外,什么都没有显示。在构造函数的末尾添加这两行 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class SimultaneousSolver extends JFrame implements ActionListener { JTex
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SimultaneousSolver extends JFrame implements ActionListener
{
JTextField tfEQ1X = new JTextField (20);
JTextField tfEQ1Y = new JTextField (20);
JTextField tfEQ1Num = new JTextField (20);
JTextField tfEQ2X = new JTextField (20);
JTextField tfEQ2Y = new JTextField (20);
JTextField tfEQ2Num = new JTextField (20);
JLabel lblX1 = new JLabel ("X₁");
JLabel lblY1 = new JLabel ("Y₁");
JLabel lblNum1 = new JLabel ("Number₁");
JLabel lblEqual1 = new JLabel ("=");
JLabel lblX2 = new JLabel ("X₂");
JLabel lblY2 = new JLabel ("Y₂");
JLabel lblNum2 = new JLabel ("Number₂");
JLabel lblEqual2 = new JLabel ("=");
JTextArea Empty = new JTextArea ("",1,20);
double X1, X2, Y1, Y2, Num1, Num2;
double SolX, SolY;
Font font = new Font("Comic Sans MS", Font.BOLD, 14);
SimultaneousSolver()
{
super ("Simultaneous Equation Solver");
setDesign();
setSize(700,400);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JPanel panelEquation1 = new JPanel(new GridLayout(1,7));
{
panelEquation1.add(lblX1);
panelEquation1.add(tfEQ1X);
panelEquation1.add(lblY1);
panelEquation1.add(tfEQ1Y);
panelEquation1.add(lblEqual1);
panelEquation1.add(lblNum1);
panelEquation1.add(tfEQ1Num);
}
JPanel panelEquation2 = new JPanel(new GridLayout(1,7));
{
panelEquation2.add(lblX2);
panelEquation2.add(tfEQ2X);
panelEquation2.add(lblY2);
panelEquation2.add(tfEQ2Y);
panelEquation2.add(lblEqual2);
panelEquation2.add(lblNum2);
panelEquation2.add(tfEQ2Num);
}
setVisible(true);
}
public final void setDesign()
{
try
{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
}
catch(Exception e)
{
}
}
public static void main(String[] args)
{
new SimultaneousSolver();
}
}
您在哪里将这些新的jpanel实例添加到主窗口框架中?您需要将面板添加到框架中…所以我需要像初始化JTextField之类的东西一样初始化jpanel?它不像AWT那样工作?你能猜出为什么它不工作吗?i、 e仅显示第二个面板-为主框架指定并设置布局。现在,一个面板隐藏了另一个面板。您也不应该知道JFrame的默认布局是BorderLayout。也就是说,当您添加组件而不指定BorderLayout.[POSITION]时,该组件将自动添加到BorderLayout.CENTER,最后一个人获胜。这就是为什么在预编辑的答案中,只有第二个面板会显示出来——第二个面板踢出了第一个面板。我会记得那个皮斯基勒。谢谢你帮了一个JAVA Noob
setLayout(new GridLayout()); // sets layout for frame - you can choose any one suitable layout
add(panelEquation1); // adds 1st panel
add(panelEquation2); // adds 2nd panel