永发信息网

java在jpanel中显示字符串

答案:3  悬赏:80  手机版
解决时间 2021-01-25 08:38
在java application中,我想在一个jpanel上显示字符串,但不是程序刚开始就显示,而是运行到一定时候再显示,应该怎么写呢?目前我只知道drawString方法只能在paint方法里用,而paint方法是程序自动调用的,我想在其他方法里用drawString方法,不知道这样有可行性么?
最佳答案
TestStr.java文件,handleStr方法是进行逆向的功能,其他都是作了一个界面,为了方便测试。

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

public class TestStr extends JFrame implements ActionListener{
JTextField txtInput=new JTextField("请输入字符串");
JTextField txtOutput=new JTextField("转换后的字符串");
JButton ok=new JButton("转换");


public TestStr() {
setLayout(new BorderLayout());
JPanel p=new JPanel();
txtInput.setSize(70,30);
txtOutput.setSize(70,30);
p.add(txtInput);
p.add(txtOutput);
ok.addActionListener(this);
add(p,BorderLayout.CENTER);
add(ok,BorderLayout.SOUTH);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200,100);

}

public void actionPerformed(ActionEvent e){
txtOutput.setText(handleStr(txtInput.getText()));

}

public String handleStr(String input){
if(input!=null && !input.trim().equals("")){
int len=input.length();
char[] output=new char[len];
for(int i=0,j=len-1;i<len;i++,j--){
output[i]=input.charAt(j);
}
return new String(output);
}
return "";
}

public static void main(String args[]){
TestStr t=new TestStr();
t.setVisible(true);
}
}
全部回答
必须加一个线程,此线程用于检测时间,一定时间后,就开始drawString
在new paint方法所在类的实例时 会自动调用paint方法。按你的要求你在创建此类实例时加上Thread.sleep(3000)看看;不知道lz是不是这个意思!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
沁心阁地址好找么,我有些事要过去
下列关于个人住房装修贷款的说法中,正确的有
心之所向,则或千或百果然鹤也
姓常中间带传字的名字
江苏长强钢铁有限公司
人人乐茶苑地址在哪,我要去那里办事
30中同是2、3、5、的倍数有几个?
高中毕业证丢失了要怎么补回来?谢谢告知。
蛔虫药什么时候吃呀
莲子猪心虫草汤的用处
如何判断循环水的补水水质是结垢型还是腐蚀型
进行工程项目进度控制的方法主要有()。A.分析
在括号里填上含适的词。
我是一名驾驶员,A2驾照,想出国打工,奥大利
朝花夕拾地址在什么地方,我要处理点事
推荐资讯
为人民服务 围绕中心,是从哪三个方面展开议论
吃什么最容易长高
我想问问带着坐大烟壳怎么过安检
玻璃幕墙连接爪是怎样固定在钢架上的
香港酒店:九龙皇悦好,还是尖沙咀新天地好呢
好看的古风小说 类似于凤倾天阑
想知道: 东方市 东方汽车玻璃修理厂 在哪
苏泊尔牌电压力锅加热后不停是什么原因
真空泵真空系统有哪些部件组成?
二手旧电脑哪里有回收的
洗胃的原则是()
想种花,去哪里买种子
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?