gpt4 book ai didi

java - 连接标题 "GetTitle().Concat(GetTitle()));"

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

今天我尝试在 Java 上做一个“窗口”的例子。我尝试连接标题,但我的“GetTitle()”不起作用!有人可以帮我解决这个问题吗?

以及为什么“public class MiVentana extends JFrame {”和“MiVentana Frame = new MiVentana("Titulo");”说警告?

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

public class MiVentana extends JFrame {

public MiVentana (String Titulo){
this.setTitle(Titulo);
this.setSize(300,400);
this.setLocation(160,80);
this.setLayout(new FlowLayout());
this.ConfigurarVentana();
this.setVisible(true);
}

public void ConfigurarVentana(){
JPanel panel = new JPanel();
JButton boton = new JButton ("OK");
boton.addActionListener(new EscuchadorBoton());
panel.add(boton);
this.add(panel);
}

class EscuchadorBoton implements ActionListener{
public void actionPerformed(ActionEvent a){
this.setTitle(this.getTitle().concat(this.getTitle()));
}

}
public static void main(String[] args) {
MiVentana Frame = new MiVentana("Titulo");
//frameTest.setVisible(true);
}
}

编辑:我正在使用 Ubuntu 14.04 IDE Eclipse 3.8

最佳答案

ActionListener 中使用 this 指的是 EscuchadorBoton 监听器,而不是 MiVentana 的实例 - 您的 JFrame.

使用 MiVentana.this 应该引用窗口​​,而不是监听器,您将能够使用它获取和设置标题。

This post更好地描述了正在发生的事情 - 基本上您希望来自封闭类的 this ,而不是封闭的类。

基本上不要这样做:

this.setTitle(this.getTitle().concat(this.getTitle()));

你需要这样做:

MiVentana.this.setTitle(MiVentana.this.getTitle().concat(MiVentana.this.getTitle()));

关于java - 连接标题 "GetTitle().Concat(GetTitle()));",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32492606/

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