相关疑难解决方法(0)

带有新线程的新JFrame

我创建了一个带有组合框和一个按钮的JFrame,它将创建一个新线程并继续执行操作.我想要一个新的JFrame从每个新线程开始,将日志输出到新的JFrame.但即使我将与JFrame相关的代码放在新线程中并关闭该JFrame,它也会结束整个程序而不是运行的线程.制作我想要的最佳方法是什么?我只是希望在每个新线程启动时打开一个新的JFrame,当我关闭该JFrame时它将结束该线程.

问候!

java swing multithreading jframe event-dispatching

1
推荐指数
1
解决办法
2832
查看次数

从另一个JFrame遍历时,Key Listener在JFrame中不起作用

我有2节课.

一个扩展canvas和inside创建一个jframe并将画布添加到该jframe并添加另一个keyadapter类来接收键事件.我还有测试代码的主要功能.从main运行时,表单将显示并接收关键事件.

现在我创建了另一个扩展jframe的类,并实现了keylistener来接收这种形式的事件.

一旦在第二类中完成功能,我想关闭第二个表单并显示第一个表单.当从第二个类中的键事件函数显示它时,第一个类键侦听器不起作用.

请稍微瞥一眼我的代码并告诉我如何纠正我的问题.感谢您的时间和宝贵的建议.

1级

public class Test extends Canvas {

private JFrame container;

public Test() {

    container = new JFrame("Space Invaders");
    JPanel panel = (JPanel) container.getContentPane();
    panel.setPreferredSize(new Dimension(screenSize.width, screenSize.height));
    panel.setLayout(null);
    setBounds(0, 0, screenSize.width, screenSize.height);
    panel.add(this);
    container.pack();
    container.setResizable(false);
    container.setVisible(true);

    try {

        addKeyListener(new KeyInputHandler(this));
    } catch (Exception e) {
        e.printStackTrace();
    }
    requestFocus();
}

private class KeyInputHandler extends KeyAdapter {

public void keyPressed(KeyEvent e) {
    //Some Action
}
public void keyReleased(KeyEvent e) {
    //Some Action
}
public void keyTyped(KeyEvent e) { …
Run Code Online (Sandbox Code Playgroud)

java swing keylistener

1
推荐指数
1
解决办法
4571
查看次数

无法在弹出式JFrame中编辑JTextField

好吧,我在弹出式JFrame中遇到文本字段问题...我实际上有两个独立的程序,一个是游戏,一个是地图编辑器.我决定让游戏有一种内置的地图编辑器,所以我将地图编辑器中的类添加到我游戏项目中的一个新包中,进行了一些小的调整(比如从地图编辑器中删除main()方法),然后让事情有效.地图编辑器弹出为新的JFrame,当我单击"新建"按钮时,它会打开一个新的JFrame,其中包含几个TextFields和一个请求新地图宽度和高度的按钮.我无法编辑文本字段中的值...我不知道为什么...弹出代码:

private class newMap extends JFrame implements ActionListener{
    JLabel wlbl = new JLabel("Map width: ");
    JTextField w = new JTextField("12");
    JLabel hlbl = new JLabel("Map height: ");
    JTextField h = new JTextField("8");
    JButton create = new JButton("Create map");
    public newMap(Component p){
        super("New Map");
        setSize(100,75);
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        setResizable(false);
        setLayout(null);
        setVisible(true);
        int bw = 96, bh = 24, s = 4, x = s;

        wlbl.setBounds(x,s,bw,bh);
        x+=s+bw;
        add(wlbl);
        w.setBounds(x,s,bw,bh);
        x+=s+bw;
        add(w);
        hlbl.setBounds(x,s,bw,bh);
        x+=s+bw;
        add(hlbl);
        h.setBounds(x,s,bw,bh);
        x+=s+bw;
        add(h);
        create.setBounds(x,s,bw,bh);
        x+=s+bw;
        create.addActionListener(this);
        add(create);

        setSize(getWidth()-this.getContentPane().getWidth()+x,
                getHeight()-this.getContentPane().getHeight()+s+s+bh);
        setLocationRelativeTo(p); …
Run Code Online (Sandbox Code Playgroud)

java swing popup jframe jtextfield

1
推荐指数
1
解决办法
663
查看次数

如何在java中模糊JFrame?

在我的java程序中,当用户点击主要按钮时,JFrame另一个按钮在JFrame主框架的顶部变得可见.现在如何使前一帧模糊?完全像图像中的背景:

覆盖模糊背景

java swing jframe jlayer

1
推荐指数
1
解决办法
4201
查看次数

JFrame Swing如何将框架从弹出窗口更改为看起来像windows主题

嘿伙计们,所以我能够设置弹出窗口的默认框架,该窗口是从一个单独的类调用的.你可能会说我是java的极端菜鸟.任何帮助,将不胜感激.

这是调用第二个类来运行的代码.

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.text.NumberFormat;

class Login extends JFrame implements ActionListener
{
 JButton SUBMIT;
 JPanel panel;
 JLabel label1,label2;
 final JTextField  text1,text2;
  Login()
  {
  label1 = new JLabel();
  label1.setText("               Enter Username:");
  label1.setForeground(Color.green);

  text1 = new JTextField(10);

  label2 = new JLabel();
  label2.setText("               Enter Password:");
  label2.setForeground(Color.green);
  text2 = new JPasswordField(10);

  SUBMIT=new JButton("SUBMIT");
  SUBMIT.setOpaque(true);
  SUBMIT.setBackground(Color.BLACK);
  SUBMIT.setForeground(Color.green);

  panel=new JPanel(new GridLayout(4,1));
  panel.add(label1);
  panel.add(text1);
  panel.add(label2);
  panel.add(text2);
  panel.add(SUBMIT);
  add(panel,BorderLayout.CENTER);
  SUBMIT.addActionListener(this);
  setTitle("LOGIN or DIE!!!!!");
  panel.setBackground(Color.black);
  setDefaultLookAndFeelDecorated(true);
  setLocationRelativeTo(null);
  }
 public void actionPerformed(ActionEvent ae)
  {
  String …
Run Code Online (Sandbox Code Playgroud)

java swing jframe look-and-feel

1
推荐指数
1
解决办法
3398
查看次数

设置JFrame完全无效,直到另一个Jframe关闭

我是Java的新手.

然而,我打算这样做;

1.一个主JFrame1
2.在JFrame1中,我有一个用于JFrame2.setVisible(true)的Button1 ; &
3.另一个JFrame2.

我需要知道的是:当用户点击JFrame1-> Button1时

  1. 如何使JFrame1完全不活动,以便用户在JFrame2处于活动状态时无法单击JFrame1上的按钮或聚焦JFrame1.

  2. 我需要设置,当JFrame2关闭时,所有上述内容都可以点击/聚焦.

谢谢 !

java swing button jframe

1
推荐指数
1
解决办法
1274
查看次数

一个JFrame和50个JPanel或仅50个JFrame或任何替代?

在此输入图像描述

这是我的节目的图片.所有这些JMenuItem都在一个JFrame中,我为每个JFrame添加了JPanel.当用户单击一个JMenuItem时,所有JPanels都将是不可见的,只有相应的JPanel才能工作.

这是一个好方法吗?我的班级很庞大.添加功能之前是5000行.

java swing jpanel jframe

1
推荐指数
1
解决办法
197
查看次数

如何完全关闭/删除JFrame

我制作了一个J1包含JButton 的JFrame(称之为).单击该按钮时,J2将打开一个新的JFrame(调用它). J1还有一个包含的ArrayList J2,以及所有其他已打开的Jframe. J2被设定为DISPOSE_ON_CLOSED 我为设置J2一个的windowClosed()方法.为了测试,我在循环里面的JFrame扔ArrayList,直到我获得了当前的J2刚关闭,而令人惊讶的,当我做J2.setVisisble(true)J2窗口的回报!

我还检查了扔任务管理器,并看到虽然开了一个新的J2,会使整个程序消耗更多的RAM,关闭每个J2在任务管理器上没有显示太大差异,它看起来不像任何内存被释放.看起来几秒后内存消耗会回到"正常"状态,所以我怀疑是否有直接与之相关的事情J2.

每次启动新内容时我都尝试打印(System.out.print)所有ArrayList内容J2,打开一个窗口,关闭它,打开一个新窗口后,我得到以下的messgae:

home.ATMmachine[frame0,252,198,620x420,invalid,hidden,layout=java.awt.BorderLayout,title=ATM Machine No.1,resizable,normal,defaultCloseOperation=DISPOSE_ON_CLOSE,rootPane=javax.swing.JRootPane[,9,38,602x373,invalid,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
Run Code Online (Sandbox Code Playgroud)

这意味着J2没有完全删除!

dispose()假设JFrame 方法

释放此Window,其子组件及其所有子组件使用的所有本机屏幕资源.也就是说,这些组件的资源将被销毁,它们使用的任何内存都将返回给操作系统,并且它们将被标记为不可显示.

所以我只是错了,并且框架将被删除并且总和更晚.

如果没有,那么我如何删除框架,以便引用它就像引用null?

java swing frame jframe

1
推荐指数
1
解决办法
2965
查看次数

使用new关键字从同一个包内的类外部调用时,在框架内获取null textarea

我创建了一个框架,里面有一个面板,面板里面有一个textarea.现在我创建了一个构造函数,使框架可见一段时间后,它被设置为不可见.它可见的时间显示了一些消息.

当我在outputDisplay类的main方法中运行构造函数代码时,它会显示文本按钮 屏幕截图的输出调用构造函数在类的主方法中 但是当我通过使用new outputDisplay(String ip,int time)在其他类中调用它时,只有框架出现但内部没有文本.在同一个pakage中的其他类中使用new outputDisplay(String ip,int time)调用时输出的屏幕截图

import java.awt.BorderLayout; 
import java.awt.Color;
import java.awt.Font;
import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;

public class OutputDisplay {

JFrame frame;
JPanel  panel;
JTextArea area;
Font font;

    OutputDisplay(String ip,int time) throws InterruptedException{
    frame = new JFrame("Warning");
    frame.setLocation(400, 220);
    panel = new JPanel();
    area = new JTextArea();
    font = new Font("Aharoni", Font.BOLD, 16);
    area.setFont(font);
    area.setForeground(Color.RED);
    area.setSize(200, 200);
    int j=0;
    String[] t = {ip}; 
    for(int i=0;i<t.length;i++){
        area.append(t[i]+"\n");
    }//for
    //area.setText(ip);
    panel.add(area);
    panel.setLayout(new BoxLayout(panel,BoxLayout.Y_AXIS));
    frame.getContentPane().add(BorderLayout.CENTER, panel);
    frame.pack(); …
Run Code Online (Sandbox Code Playgroud)

java swing jframe jtextarea

1
推荐指数
1
解决办法
136
查看次数

MouseListener第一次不起作用

我是Java新手,我正在创建一个简单的GUI.我在Java中有一个标签JFrame,当我点击它时,程序应该显示另一个框架并隐藏当前框架.我也打印它来检查标签(它的作用就像一个按钮)是否有效.第一次它并没有在所有的工作.它的工作原理从第二点击开始下一个尝试,但它并不能掩盖当前帧.

我的代码是:

private void jLabel4MouseClicked(java.awt.event.MouseEvent evt) {                                     

    MainFrame mf = new MainFrame();
    jLabel4.addMouseListener(new MouseAdapter (){

        @Override
        public void mousePressed(MouseEvent e){
            System.out.println("It works.");
            mf.setVisible(true);

            NewJFrame2 n2 = new NewJFrame2();
            n2.setVisible(false);

        }          
    });
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何解决它,以便从第一次单击和隐藏当前帧工作?

java swing mouselistener

1
推荐指数
1
解决办法
488
查看次数