gpt4 book ai didi

java - 如何更新JFrame组件?

转载 作者:行者123 更新时间:2023-12-01 11:25:38 25 4
gpt4 key购买 nike

嗯,我有这个代码。

import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;
import javax.swing.JProgressBar;
import javax.swing.SwingUtilities;

import java.awt.Font;

import javax.swing.JSeparator;
import javax.swing.JTextPane;
import javax.swing.JButton;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;


public class Menu {

private JFrame frmFelps;

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Menu window = new Menu();
window.frmFelps.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the application.
*/
public Menu() {
initialize();
}

/**
* Initialize the contents of the frame.
*/
private void initialize() {
Funcoes acoes = new Funcoes();
frmFelps = new JFrame();
frmFelps.setResizable(false);
frmFelps.setTitle("Felps");
frmFelps.setBounds(100, 100, 824, 522);
frmFelps.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frmFelps.getContentPane().setLayout(null);

JProgressBar progressoSede = new JProgressBar();
progressoSede.setStringPainted(true);
progressoSede.setValue(acoes.getSede());
progressoSede.setBounds(71, 25, 100, 25);
frmFelps.getContentPane().add(progressoSede);

JProgressBar progressoAmor = new JProgressBar();
progressoAmor.setValue(acoes.getAmor());
progressoAmor.setStringPainted(true);
progressoAmor.setBounds(71, 56, 100, 25);
frmFelps.getContentPane().add(progressoAmor);

JProgressBar progressoFeliz = new JProgressBar();
progressoFeliz.setValue(acoes.getFeliz());
progressoFeliz.setStringPainted(true);
progressoFeliz.setBounds(71, 85, 100, 25);
frmFelps.getContentPane().add(progressoFeliz);

JLabel lblSede = new JLabel("Sede:");
lblSede.setToolTipText("Porcentagem de AQUA que voc\u00EA bebeu e gravou nos ultimos tempos.");
lblSede.setFont(new Font("Arial", Font.PLAIN, 16));
lblSede.setBounds(24, 25, 46, 23);
frmFelps.getContentPane().add(lblSede);

JLabel lblAmor = new JLabel("Amor:");
lblAmor.setToolTipText("O Amor n\u00E3o precisa ser descrito com palavras.");
lblAmor.setFont(new Font("Arial", Font.PLAIN, 16));
lblAmor.setBounds(24, 56, 46, 23);
frmFelps.getContentPane().add(lblAmor);

JLabel lblFeliz = new JLabel("Feliz:");
lblFeliz.setToolTipText("Um Felps Feliz \u00E9 um Felps que n\u00E3o esta Triste.");
lblFeliz.setFont(new Font("Arial", Font.PLAIN, 16));
lblFeliz.setBounds(24, 85, 46, 23);
frmFelps.getContentPane().add(lblFeliz);

JLabel lblCamera = new JLabel("Camera:");
lblCamera.setToolTipText("Quanto melhor a Camera mais Video com FaceCam o Felps Faz");
lblCamera.setBounds(24, 168, 74, 14);
frmFelps.getContentPane().add(lblCamera);

JLabel lblPc = new JLabel("PC:");
lblPc.setToolTipText("Quanto melhor seu PC mais o Cellbits vai sentir inveja de voc\u00EA.");
lblPc.setBounds(24, 199, 74, 14);
frmFelps.getContentPane().add(lblPc);

JLabel lblFone = new JLabel("Fone:");
lblFone.setToolTipText("Hey Galera Felps falando e bem vindos ao meu canal.");
lblFone.setBounds(24, 230, 74, 14);
frmFelps.getContentPane().add(lblFone);

JLabel lblInscritos = new JLabel("Inscritos:");
lblInscritos.setToolTipText("Quanto mais melhor. (P.S.: Eles s\u00F3 v\u00E3o te amar se voc\u00EA amar eles)");
lblInscritos.setBounds(50, 290, 83, 14);
frmFelps.getContentPane().add(lblInscritos);

JLabel lblDinheiros = new JLabel("Dinheiros:");
lblDinheiros.setToolTipText("Quantos dinheiros existem dentro do seu bolso Felpastico.");
lblDinheiros.setBounds(10, 432, 60, 14);
frmFelps.getContentPane().add(lblDinheiros);

JTextPane txtpnCamera = new JTextPane();
txtpnCamera.setEditable(false);
txtpnCamera.setText(acoes.getCamera());
txtpnCamera.setBounds(108, 162, 104, 20);
frmFelps.getContentPane().add(txtpnCamera);

JTextPane txtpnPc = new JTextPane();
txtpnPc.setText(acoes.getPc());
txtpnPc.setEditable(false);
txtpnPc.setBounds(108, 193, 104, 20);
frmFelps.getContentPane().add(txtpnPc);

JTextPane txtpnFone = new JTextPane();
txtpnFone.setText(acoes.getFone());
txtpnFone.setEditable(false);
txtpnFone.setBounds(108, 224, 104, 20);
frmFelps.getContentPane().add(txtpnFone);

JTextPane txtpnInscrito = new JTextPane();
txtpnInscrito.setEditable(false);
txtpnInscrito.setText(acoes.getInscritos());
txtpnInscrito.setBounds(24, 315, 130, 20);
frmFelps.getContentPane().add(txtpnInscrito);

JTextPane txtpnDinheiro = new JTextPane();
txtpnDinheiro.setText(acoes.getDinheiro());
txtpnDinheiro.setEditable(false);
txtpnDinheiro.setBounds(80, 426, 91, 20);
frmFelps.getContentPane().add(txtpnDinheiro);

JButton btnYoutube = new JButton("YouTube");
btnYoutube.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//TODO Fazer Algo
}
});

JSeparator separator = new JSeparator();
separator.setOrientation(SwingConstants.VERTICAL);
separator.setBounds(228, 0, 13, 493);
frmFelps.getContentPane().add(separator);
btnYoutube.setBounds(534, 172, 146, 25);
frmFelps.getContentPane().add(btnYoutube);

JButton btnCasa = new JButton("Casa");
btnCasa.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//TODO Fazer Algo
acoes.setInscritos(10);
//txtpnInscrito.setText(acoes.getInscritos());
atualizador();
//txtpnInscrito.setText(acoes.getInscritos());
}
});
btnCasa.setBounds(268, 171, 146, 25);
frmFelps.getContentPane().add(btnCasa);

JButton btnCidade = new JButton("Cidade");
btnCidade.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//TODO Fazer Algo
}
});
btnCidade.setBounds(268, 264, 146, 25);
frmFelps.getContentPane().add(btnCidade);

JButton btnBica = new JButton("Bica");
btnBica.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
//TODO Fazer Algo
}
});
btnBica.setBounds(534, 265, 146, 25);
frmFelps.getContentPane().add(btnBica);

JLabel lblFundo = new JLabel("New label");
lblFundo.setIcon(new ImageIcon("img\\mapa.png"));
lblFundo.setBounds(251, 20, 528, 435);
frmFelps.getContentPane().add(lblFundo);
}

private void atualizador(){
//TODO
}
}

我想在每次 atualizador() 运行时更改 txtpnInscrito 上的文本但我不知道该怎么做。如果我直接在按钮 btnCasa 中更改文本,它会发生变化,但我想按时间进行刷新,并在对按钮执行操作时利用相同的功能进行刷新。

提前致谢。对于糟糕的英语感到抱歉。

最佳答案

您需要创建类的 txtpnInscrito 字段,以便可以在类中的所有方法中访问它

看看Understanding Class Members了解更多详情

关于java - 如何更新JFrame组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30825301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com