gpt4 book ai didi

java - 从 jtextarea 获取文本,将其拆分并在新行上将其传递给 jlabel?

转载 作者:太空宇宙 更新时间:2023-11-04 08:03:15 25 4
gpt4 key购买 nike

嗨, friend 们,我是新来的,我在两个类中编写了一个代码,其中一个类中我声明了一个 jtextarea 和一个按钮,当我们单击按钮时,文本将拆分并显示在 jlabel 中,但问题是文本写在 jtext 区域中,按钮也可以工作,但是当 jlabel 框架打开时,它什么也不显示,这是我的代码 第一节课

import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;

public class Try extends JFrame {

JTextArea text;
String string;
public Try(){

super("survey");
Container container=getContentPane();
container.setLayout(new FlowLayout());
text=new JTextArea();
text.setLineWrap(true);
text.setWrapStyleWord(true);
text.setPreferredSize(new Dimension(350,150));
string=text.getText();
JButton showDialogBtn = new JButton("Add Text");
container.add(text);
container.add( showDialogBtn);

showDialogBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
jlabel l=new jlabel();
l.setSize(700,700);
l.setVisible(true);
}
});


}





public static void main(String[] args) {
// TODO code application logic here
Try t=new Try();
t.setSize(400,500);
t.setVisible(true);
}

String getArray()
{
return string ;
}

}

但是第二个类,即 jlabel 类,没有显示所需的结果,请在这方面提供帮助

import java.awt.Container;
import java.awt.Font;
import javax.swing.*;
class jlabel extends JFrame {
Try t=new Try();
public jlabel(){
JFrame frame=new JFrame("jlabel");
JPanel jp1=new JPanel();
String string=t.getArray();
String[] labelStrings = string.split(" \\s*");
for (String labelString : labelStrings)
{
// create JLabels and add
JLabel label = new JLabel(labelString);
jp1.add(label);
frame.add(jp1);

}



}
}

等待回复,提前致谢问候,

最佳答案

第一个类还不错,但是“jLabel”类有很多错误。请参阅下面的有效方法。

jlabel 类中的问题摘要:

  • 实例化了另一个 Try 对象并使用了该实例
  • 您正在创建一个新的 JFrame,即使您已经对其进行了子类化。
  • 没有布局管理器。

等等...

import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

class Label extends JFrame {

public Label(String string) {
super("jlabel");
JPanel jp1 = new JPanel();
jp1.setLayout(new BoxLayout(jp1, BoxLayout.Y_AXIS));
String[] labelStrings = string.split(" \\s*");
for (String labelString : labelStrings) {
// create JLabels and add
JLabel label = new JLabel(labelString);
jp1.add(label);
}
getContentPane().add(jp1);
}
}

在 Try 类中,按如下方式初始化它:

Label l = new Label(text.getText());

关于java - 从 jtextarea 获取文本,将其拆分并在新行上将其传递给 jlabel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12502406/

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