我想过一段时间后打开MainWindow(我创建并添加了UI),但是Java改为打开空白的默认Jframe。在启动屏幕(Start
)之后如何打开已经创建的窗口?
public class Start extends JFrame{
private JPanel panel1;
public static void main(String[] args) {
JFrame frame = new JFrame("Starting");
frame.setContentPane(new Start().panel1);
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setExtendedState(JFrame.NORMAL);
frame.setUndecorated(true);
//frame.setAlwaysOnTop(true);
frame.setVisible(true);
/*Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(dim.width/2-frame.getSize().width/2, dim.height/2-frame.getSize().height/2);*/
frame.toFront();
frame.pack();
frame.setLocationRelativeTo(null);
Timer timer = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
new MainWindows().setVisible(true);
frame.setVisible(false);
//System.exit(0);
}
});
timer.start();
}
public class MainWindows extends JFrame{
private JPanel panel;
public static void main(String[] args)
{
boolean clicked = false;
JOptionPane.showConfirmDialog(null, "Це перша вершія гри. Будь ласка, закрийте всі програми, щоб уникнути помилок.", "Увага!", JOptionPane.YES_OPTION);
JFrame frame2 = new JFrame("Flying");
frame2.setContentPane(new MainWindows().panel);
frame2.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame2.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame2.setUndecorated(true);
frame2.setAlwaysOnTop(true);
frame2.setVisible(true);
frame2.toFront();
frame2.pack();
答案 0 :(得分:1)
您的.space{
height:350px
}
.space2{
height:50px
}
类具有一个从未调用过的静态<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="navbar-collapse collapse" id="navbar10">
<ul class="navbar-nav nav-fill w-100">
<li class="nav-item">
<a class="nav-link" href="#">Homepage</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="#button1">First Button</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="#button2">Second Button</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="#button3">Third Button</a>
</li>
<li class="nav-item">
<a class="nav-link active" href="#button4">4th Button</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact</a>
</li>
</ul>
</div>
<div class="space"></div>
<div class="gallery-menu text-center row">
<div class="col-md-12">
<div class="button-group filter-button-group">
<div class="flex-container">
<button data-filter=".photo_b" id="button1">First Gallery</button>
<button data-filter=".photo_d" id="button2">Second Gallery</button>
<button data-filter=".photo_c" id="button3">Third Gallery</button>
<button data-filter=".photo_a" id="button4">4th Gallery</button>
<button class="active" data-filter="*" id="button5">All photos</button>
</div>
</div>
</div>
</div>
<div class="space2">
方法。看起来很像其中的代码应该改为构造函数。
答案 1 :(得分:1)
您在此程序中似乎有两种主要方法。我建议从MainWindows.java中删除main方法,并将代码从其中移到MainWindows构造函数中。这样可以确保在初始化新的MainWindows()对象时,应正确设置新JFrame中的所有内容。
MainWindows.java中的代码:
public MainWindows()
{
boolean clicked = false;
JOptionPane.showConfirmDialog(null, "Це перша вершія гри. Будь ласка, закрийте всі програми, щоб уникнути помилок.", "Увага!", JOptionPane.YES_OPTION);
JFrame frame2 = new JFrame("Flying");
frame2.setContentPane(new MainWindows().panel);
frame2.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame2.setExtendedState(JFrame.MAXIMIZED_BOTH);
frame2.setUndecorated(true);
frame2.setAlwaysOnTop(true);
frame2.setVisible(true);
frame2.toFront();
frame2.pack();
答案 2 :(得分:0)
我终于解决了。 frame2.setContentPane(panel);
谢谢您的回答!