我一直试图让这段代码工作,我不知道它有什么问题。我所展示的所有内容都表明要正确宣布JFrame,但我已经完成了它并且它没有出现。这是我的代码:
import javax.swing.*;
import java.awt.*;
public class test extends JFrame {
private JFrame f;
private JPanel p;
private JButton b1;
private JLabel lab;
public void test() {
gui();
}
public void gui() {
JFrame f = new JFrame("Frame");
f.setBounds(30, 30, 700, 1000);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.setFocusable(true);
p = new JPanel();
p.setBackground(Color.YELLOW);
b1 = new JButton("Button");
lab = new JLabel("Label");
p.add(b1);
p.add(lab);
f.add(p, BorderLayout.SOUTH);
}
public static void main(String[] args) {
new test();
}
}
我不太了解编码以便能够诊断问题,所以我来这里寻求帮助。提前谢谢!
答案 0 :(得分:2)
那是因为你没有调用{line.strip().split('\t')[0]:line.split('\t')[1] for line in rdata.splitlines() if line.strip() == '\n'}
方法。虽然你的意图似乎是让这个方法成为一个构造函数:
test()
它应该是(构造函数没有返回类型):
public void test() {
gui();
}
答案 1 :(得分:0)
答案 2 :(得分:0)
我制作了一个测试对象,并调用了调用gui();
的测试方法。
package vai;
import javax.swing.*;
import java.awt.*;
public class test extends JFrame {
private JFrame f;
private JPanel p;
private JButton b1;
private JLabel lab;
public void test() {
gui();
}
public void gui() {
JFrame f = new JFrame("Frame");
f.setBounds(30, 30, 700, 1000);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
f.setFocusable(true);
p = new JPanel();
p.setBackground(Color.YELLOW);
b1 = new JButton("Button");
lab = new JLabel("Label");
p.add(b1);
p.add(lab);
f.add(p, BorderLayout.SOUTH);
}
public static void main(String[] args) {
test t1 = new test();
t1.test();
}
}