java中JTextField中如何在初始化的时候有灰色底字提示怎么弄啊?

我想在一个单行文本框未输入内容之前看到有文字提示,比如有一个输入账号框,框内提示:账号

就想QQ登陆界面账户密码框那样图片

5个回答

value="提示" onFocus="if(value==defaultValue){value='';this.style.color='#000'}" onBlur="if(!value){value=defaultValue;this.style.color='#999'}" style="color:#9999"

qq_37823508
qq_37823508 这。。。。是java?大神,我要的是java的。。
2 年多之前 回复

楼上的是前台JS写法。

qq_37823508
qq_37823508 你会不会啊?会的话麻烦教一下我啊
2 年多之前 回复

試試這個 JTextField jtf2 = new JTextField("提示",10);
jtf2.setFont(new Font("标楷体",Font.TRUETYPE_FONT|Font.ITALIC,12));

qq_37823508
qq_37823508 不行,有了提示字,但是点击文本框,提示字不消失
2 年多之前 回复

把這段代碼加上就可以了,你試試 jtf2.addFocusListener(new FocusListener (){
@Override
public void focusGained(FocusEvent e) {
if("提示".equalsIgnoreCase(jtf2.getText())){
jtf2.setText("");
}

        }

        @Override
        public void focusLost(FocusEvent e) {
            if("".equals(jtf2.getText()) ){
                jtf2.setText("提示");

        }
        }

    });

public class MyTextField extends JTextField implements FocusListener{
private int state = 0; //1->修改 0->提示
private String showText;
public MyTextField(String text,int column){
super(text,column);
showText = text;
setForeground(Color.GRAY);
addFocusListener(this);
}

public String getText(){
    if(this.state==1){
        return super.getText();
    }
    return "";
}

 @Override
public void focusGained(FocusEvent e) {
    if(state==0){
        state = 1;
        this.setText("");
        setForeground(Color.BLACK);
    }
}
@Override
public void focusLost(FocusEvent e) {
    String temp = getText();
    System.out.println(temp);
    if(temp.equals("")){
        setForeground(Color.GRAY);
        this.setText(showText);
        state = 0;
    }else{
        this.setText(temp);
    }
}

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何在JWindow中使用JTextField?
每次在JWindow中使用JTextField,但JTextField总是不能编辑状态。。真够郁闷,rn不知道你们有没发现这个问题,还希望高手能解答。。rnrnimport java.awt.*;rnimport javax.swing.*;rn rnpublic class Testrnrn public static void main(String[] args)rn rn JWindow window = new JWindow(); // this doesn't workrn window.getContentPane().add( new JTextField(10), BorderLayout.NORTH );rn window.getContentPane().add( new JButton("Button") );rn window.getContentPane().add( new JCheckBox("CheckBox"), BorderLayout.SOUTH );rn window.setBounds(300, 300, 200, 200);rn window.setVisible(true);rn rnrnrn可以运行下试试。。别的都可以用就是JTextField不能。。
如何在JTEXTFIELD中显示时间
我想在JTEXTFIELD中有一个时间显示不知应该怎么办rn我知道要用到多线程,rn我编了个了多线程类(DATATHREAD,内有一个死循环,SLEEP(1000),T++)继承Thread类和个一FRAME类(是一个窗体有一个JTEXTFIELD组件)不知如何将DATATHREAD类中的T变量到FRAME类中的JTEXTFIELD.setText()方法,rn请教教我rnrn有源程序最好!!!
java中的报表怎么弄啊
谁提供点思路好吗rnrn有源码发给我好吗
文本框中的灰色提示
1.属性实现文本框提示 在input标签中添加一个属性placeholder就可以实现 eg:<div> <label>任务名:</label> <input type='text' id='taskname' placeholder='安全扫描任务01'> </div>效果: 输入内容灰色提示则消失 2.使用js实现文本框提示<input type="text" id="
Java JTextField提示空指针异常
rnpublic class manageBikePanel extends JPanel rnrn private JTextField bikeIDF;rn private JTextField bikeNameF;rn private JTextField bikeTypeF;rn private JTextField bikeBrandF;rn private JTextField bikeSupplierF;rn //private JTextField supplierNameT;rn private JTextField importPriceF;rn private JTextField salePriceF;rn private JTextField importCycleF;rn //private JComboBox bikeTypeBox;rn private JComboBox bikeBox;rn //private JComboBox supplierBox;rn private JButton resetButton;rnrn public manageBikePanel() rn setLayout(new GridBagLayout());rn setBounds(10, 10, 510, 302);rnrn setupComponet(new JLabel("选择自行车:"), 0, 0, 1, 1, false);rn bikeBox = new JComboBox();rn bikeBox.setPreferredSize(new Dimension(1, 21));rn initComboBox();// 初始化下拉选择框rn // 处理供应商信息的下拉选择框的选择事件rn bikeBox.addActionListener(new ActionListener() rnrn public void actionPerformed(ActionEvent e) rn doBikeSelectAction();rn rn );rn setupComponet(bikeBox, 1, 0, 1, 160, true);rnrn setupComponet(new JLabel("自行车名称:"), 2, 0, 1, 1, false);rn bikeNameF = new JTextField();rn setupComponet(bikeNameF, 3, 0, 1, 160, true);rnrn setupComponet(new JLabel("自行车型号:"), 0, 1, 1, 1, false);rn bikeIDF = new JTextField();rn setupComponet(bikeIDF, 1, 1, 1, 0, true);rnrn setupComponet(new JLabel("自行车类型:"), 2, 1, 1, 1, false);rn bikeTypeF = new JTextField();rn //supplierPostT.addKeyListener(new InputKeyListener());rn setupComponet(bikeTypeF, 3, 1, 1, 0, true);rnrn setupComponet(new JLabel("品牌:"), 0, 2, 1, 1, false);rn bikeBrandF = new JTextField();rn //supplierTelT.addKeyListener(new InputKeyListener());rn setupComponet(bikeBrandF, 1, 2, 1, 0, true);rnrn setupComponet(new JLabel("供应商:"), 2, 2, 1, 1, false);rn bikeSupplierF = new JTextField();rn setupComponet(bikeSupplierF, 3, 2, 1, 0, true);rnrn setupComponet(new JLabel("进价:"), 0, 3, 1, 1, false);rn importPriceF = new JTextField();rn importPriceF.addKeyListener(new InputKeyListener());rn setupComponet(importPriceF, 1, 3, 1, 0, true);rnrn setupComponet(new JLabel("售价:"), 2, 3, 1, 1, false);rn salePriceF = new JTextField();rn salePriceF.addKeyListener(new InputKeyListener());rn setupComponet(salePriceF, 3, 3, 1, 0, true);rnrn setupComponet(new JLabel("进货周期:"), 0, 4, 1, 1, false);rn importCycleF = new JTextField();rn importCycleF.addKeyListener(new InputKeyListener());rn setupComponet(importCycleF, 1, 4, 1, 0, true);rnrn JButton modifyButton = new JButton("修改");rn JButton delButton = new JButton("删除");rn JPanel panel = new JPanel();rn panel.add(modifyButton);rn panel.add(delButton);rn // 定位按钮rn setupComponet(panel, 3, 6, 1, 0, false);rn // 处理删除按钮的单击事件rn delButton.addActionListener(new DelActionListener());rn // 处理修改按钮的单击事件rn modifyButton.addActionListener(new ModifyActionListener());rn rn // 初始化供应商下拉选择框rnrn public void initComboBox() rn List bikeInfo = dao.getBikeInfos();rn List items = new ArrayList();rn bikeBox.removeAllItems();rn for (Iterator iter = bikeInfo.iterator(); iter.hasNext();) rn List element = (List) iter.next();rn item item = new item();rn item.setId(element.get(0).toString().trim());rn item.setName(element.get(1).toString().trim());rn if (items.contains(item)) rn continue;rn rn items.add(item);rn bikeBox.addItem(item);rn rn doBikeSelectAction();rn rn // 设置组件位置并添加到容器中rnrn private void setupComponet(JComponent component, int gridx, int gridy,rn int gridwidth, int ipadx, boolean fill) rn final GridBagConstraints gridBagConstrains = new GridBagConstraints();rn gridBagConstrains.gridx = gridx;rn gridBagConstrains.gridy = gridy;rn if (gridwidth > 1) rn gridBagConstrains.gridwidth = gridwidth;rn rn if (ipadx > 0) rn gridBagConstrains.ipadx = ipadx;rn rn gridBagConstrains.insets = new Insets(5, 1, 3, 1);rn if (fill) rn gridBagConstrains.fill = GridBagConstraints.HORIZONTAL;rn rn add(component, gridBagConstrains);rn rn // 处理供应商选择事件rnrn private void doBikeSelectAction() rn item selectedItem;rn if (!(bikeBox.getSelectedItem() instanceof item)) rn return;rn rn selectedItem = (item) bikeBox.getSelectedItem();rn bikeInfo info = dao.getBikeInfo(selectedItem);rn if (!info.getBikeID().isEmpty()) rn bikeIDF.setText(info.getBikeID());[color=#FF00FF]0000]从这里提示空指针异常[/color][/color]rn bikeNameF.setText(info.getBikeName());rn bikeTypeF.setText(info.getBikeType());rn bikeBrandF.setText(info.getBikeBrand());rn bikeSupplierF.setText(info.getBikeSupplier());rn importPriceF.setText(String.valueOf(info.getImportPrice()));rn salePriceF.setText(String.valueOf(info.getSalePrice()));rn importCycleF.setText(String.valueOf(info.getImportCycle()));rn rn rnrnrn错误提示rnException in thread "AWT-EventQueue-0" java.lang.NullPointerExceptionrn at internalFrame.mangeBike.manageBikePanel.doBikeSelectAction(manageBikePanel.java:164)rn at internalFrame.mangeBike.manageBikePanel.initComboBox(manageBikePanel.java:131)rn at internalFrame.mangeBike.manageBikePanel.(manageBikePanel.java:55)rn at internalFrame.manageBike.(manageBike.java:29)rn at com.mainFram.systemFrame1.jButton2ActionPerformed(systemFrame1.java:146)rn at com.mainFram.systemFrame1.access$100(systemFrame1.java:20)rn at com.mainFram.systemFrame1$2.actionPerformed(systemFrame1.java:59)rn at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)rn at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)rn at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)rn at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)rn at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)rn at java.awt.Component.processMouseEvent(Component.java:6288)rn at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)rn at java.awt.Component.processEvent(Component.java:6053)rn at java.awt.Container.processEvent(Container.java:2041)rn at java.awt.Component.dispatchEventImpl(Component.java:4651)rn at java.awt.Container.dispatchEventImpl(Container.java:2099)rn at java.awt.Component.dispatchEvent(Component.java:4481)rn at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)rn at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)rn at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)rn at java.awt.Container.dispatchEventImpl(Container.java:2085)rn at java.awt.Window.dispatchEventImpl(Window.java:2478)rn at java.awt.Component.dispatchEvent(Component.java:4481)rn at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:643)rn at java.awt.EventQueue.access$000(EventQueue.java:84)rn at java.awt.EventQueue$1.run(EventQueue.java:602)rn at java.awt.EventQueue$1.run(EventQueue.java:600)rn at java.security.AccessController.doPrivileged(Native Method)rn at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)rn at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98)rn at java.awt.EventQueue$2.run(EventQueue.java:616)rn at java.awt.EventQueue$2.run(EventQueue.java:614)rn at java.security.AccessController.doPrivileged(Native Method)rn at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)rn at java.awt.EventQueue.dispatchEvent(EventQueue.java:613)rn at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)rn at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)rn at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)rn at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)rn at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)rn at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Java中如何在背景图片上添加JTextField、JButton.
请问怎样在背景图片上添加JTextField、JButton控件,我想将登陆窗体上放一背景图片,然后在图片上添上用户框和密码框(JTextField)及登陆、取消(JButton)按钮。rn
搜索的时候%怎么弄啊?
如题,搜索的时候输入%号的时候,会显示所有的结果,因为数据库里面%是搜索所有,我加了个转义符"'",但是不行啊,搜索的结果是少了,但是不完全正确,只有一个"'"的结果也出来啦,怎么弄那?
退出提示怎么弄啊?
我做的窗体添加数据以后,按返回可以回到上一个界面,但我希望能够在按下返回后跳出一个提示窗口,询问我是否保存,是则保存退出,否则不保存退出,取消则取消退出操作?
如何在domodal时候初始化对话框中的控件?
各位大大,在下有个很弱的问题rn1.资源里创建了一个新对话框,上面添加有一些控件,能否在domodal这个新对话框的时候,改变一下对话框大小,并初始化一下新对话框中的控件属性?rn我现在只会用按钮方式初始化。。。
请问高手,在系统部署的时候,如何在ejb中实现初始化
就是通过ejb来启动一个服务,这个服务需要在系统部署后就起来,而不是需要外部的ejb调用再起来,因为这个服务在系统初始化的时候需要进行一些配置处理。希望哪位高手高手高高手能够帮我解决这个问题,小生比较弱。谢谢!(据一个最简单的例子,就是比如一个打印“helloworld”服务程序,再系统部署完了以后,马上打印helloworld)
c#中如何在获取Windows应用程序初始化时候的目录?
问题是这样的,我做了一个windows应用程序的界面,rn第一步首先需要利用openfiledialogz和sivefiledialog操作输入输出文件,rn第二步是要在windows应用程序初始化时候的目录(也就是bin目录下的debug文件夹),下工作。但是这个时侯发现默认的路径已经更改成上一步用openfiledialogz和sivefiledialog操作之后的目录了,请问一下大家我应该怎么做才能在第二步操作中使用bin目录下的debug文件夹。rnrn请大家不吝赐教。
如何在image中输出清楚的字?
不知道大家有没有发现,在image控件中用textout输出的字不是很清楚,如何让它rn看上去清楚一点呢?
<HTML> 给input文本框中添加灰色提示字
很多网站的文本框都有灰色提文字,一点即消失,鼠标一开又出现! 用HTML5 中的新属性placeholder实现。  将这段代码加载input中!
如何在excel中制作点阵字
我想在Excel中输入一个汉字,用vba将其变成点阵字,vba程序怎样写?谢谢!
如何在图像中添加字
就是在图像中,任意位置,添加任意格式的字,要用什么控件来完成,我想在一个列表中放入每张图的注释(各不相同),然后用自己编的软件,把注释成批的添加到图片中。请大侠们帮我,我不胜感激。
如何不能在JTextField更多的字
问题是这样的:rn我想给一个JTextField定一个长度,比如maxlen=4rn当输入超过4个字符时,就不能输入了。
请问如何在鼠标点击xx button 的时候获得 JtextField 中的文本输入--有重分送
我是个才入门的菜鸟,rn各位大虾多多提点^-^rn我想在jframe 中的一个Jbutton compnent背鼠标点机的时候rn获得textfield 中的用户输入,请问如何得到,获得jbutton的处理函数我一得到rn必定送分!!!!!
文本框中的灰色默认提示
登录的网站的时候有的网站会有2个文本框(文本框中有灰色的提示文字)rn一个提示输入用户名,另一个提示输入密码rn我想问的是提示输入密码的那个文本框是如何实现的rn如果这样写rn rn那出现的结果是*******,跟本看不到value中的内容rnrn还是说把密码域其实也设置成rn rn然后为它绑定一个click事件,当有内容输入到文本框,将内容rn转换成*******。rn输入用户名的文本框的灰色提示已经实现了,但是输入密码的文本框原理不是很rn清楚,望大家指教rnrn
如何在初始化的时候,将窗体最大化???
-
toolbar如何在初始化的时候船坞化
为什么toolbar DOCKED的属性为只读rn如何把把原来的工具栏去掉
MFC中如何在光标移动的时候显示文字提示
如题,我要画一个这个顶点到那个顶点之间的连线,要求画的时候能够动态显示线的长度,以便能够画出要求的长度,如果采用rnMessageBox 的话,就不太好看,而且弹出多个框很烦,可不可以用气泡显示呢,只显示几秒即可。急,请各位前辈帮帮小弟,希望尽量详细一些,小弟学MFC不太久,环境是vc6.0
如何去掉flex 组件的底字啊?
http://examples.adobe.com/flex2/inproduct/sdk/explorer/explorer.html 这个网站 的源代码组件下面有阴影底字rnflex data visualization trial 我想请问下如何去掉?
如何在初始化中改变控件字体
请问各位,如何在对话框初始化时,就改变静态文本字体大小?有如下代码:放在命令按键中可实现改变字体大小,但是放在初始化BOOL TEST_Dlg::OnInitDialog()中,就不能实现改变字体大小,请问问题出在那里,怎样解决?,rnrnCDC *pDC=GetDC();rn CFont font;rn font.CreateFont(rn 58, rn 15, rn 0, // angle of escapementrn 0, // base-line orientation anglern FW_BOLD, // font weightrn FALSE, // italic attribute optionrn FALSE, // underline attribute optionrn 0, // strikeout attribute optionrn ANSI_CHARSET, // character set identifierrn OUT_DEFAULT_PRECIS, // output precisionrn CLIP_DEFAULT_PRECIS, // clipping precisionrn DEFAULT_QUALITY, // output qualityrn DEFAULT_PITCH | FF_SWISS, // pitch and familyrn _T("Arial") // rn );rnrn GetDlgItem(IDC_TITLE)->SetFont(&font); //静态文本框ID: IDC_TITLErn
请问如何在DLL中初始化DCOM??
我要在DLL中调用DCOM的服务器端。请问如何对DCOM进行初始化呀??请说具体一些。谢谢!!!
如何在类中初始化“静态数组”?
=========================rn//a.hrn=========================rn#include "iostream.h"rnrnclass a:rnrnrnpublic:rn static int c[20];rnpublic:rn a();rn ~a();rn void Use();rn;rnrn=========================rn//a.cpprn=========================rn#include "a.h"rnrn//int a::c[20]的初始化??rnrna::a()rnrnrnrna::~a()rnrnrnrnvoid a::Use()rn rn for(int i=0;i<20;i++)rn cout<
如何在static变量中初始化其他值
如题
如何在类定义中初始化数组?
在类定义中rnpublicrn UINT Data[2]=1,2;rn编译不通过,但是在函数中可以。我想在类定义中初始化数组如何实现?
如何在构造函数中初始化常量数组
如题rn例如rnclass myclass rnconst char name[20];rnpublic:rn myclass()rn rn;rn如何初始化name?
如何在mfc程序中初始化orb对象
正常的初始化corba对象是这样的 CORBA::ORB_var orb = CORBA::ORB_init(argc,argv);rn但是因为是使用mfc程序,没有argc,argv这两个参数,尝试过给定值给它们,但发现corba的几句关键代码就会崩溃,求高手解答。
如何在构造函数中初始化整形数组?
class abrnrnpublic:rn ab();rn void ShowX(HDC hdc);rnprivate:rn int x[2];rn;rnrnab::ab()rnrn x[2]=5,6;rnrnrnvoid ab::ShowX(HDC hdc)rnrn TCHAR szBuffer[10];rn TextOut(hdc,0,0,szBuffer,wsprintf(szBuffer,"%d",x[0]));rnrnrn以上编译会出错:rnerror C2059: syntax error : ''rnE:\windows程序设计例子\wy1\wy1.cpp(20) : error C2143: syntax error : missing ';' before ''rnE:\windows程序设计例子\wy1\wy1.cpp(20) : error C2143: syntax error : missing ';' before ''rnError executing cl.exe.rnrn
如何在类中初始化常量?
如何在类中初始化常量?为什么不可以rn1 在头文件中写rnclassrnrnprivate:rn const char str[]="this is a test";rn;rn提示不能进行初始化rn2 在实现文件中写入rnCClass::str="this is a test";rn也产生错误。rnrn不知道如何初始化?
C++多维数组如何在类中初始化???
class CGameMainrnrn CGameMain(void);rn ~CGameMain(void);rn int m_arrBox[7][4][5][4];rn;rnrn请问如何将m_arrBox多维数组初始化??
如何在初始化列表中初始化结构体?
嗯,简单点来说,我有个定义了个结构体:rnrnstruct Pointrnrn int x;rn int y;rn;rnrnrn然后我这有个类:rnclass CTestrnrnpublic:rn CTest():rn m_iCount(0), //将m_iCount初始化为0rn [color=#FF0000]m_Point() //这里应该怎么写,对于结构体?[/color]rn rnrnprivate:rn int m_iCount;rn Point m_Point;rn;rnrn如果m_Point为静态变量还好说,可以在外部这么写:rnPoint CTest::m_Point = 10,20;rnrn只不过这是成员变量,就不能这么写了。rnrnrn不知道各位大侠有啥好办法?rn
成员变量数组如何在方法中初始化?
例如:rnclass Arn String aa[];rnrn public A(int n)rn /*在此对aa[]初始化,n为aa的长度*/rnrn rnrn小弟初学者,请高手指点~
如何在程序中初始化数据库?
有一个数据窗口,在编辑数据窗口时,删掉了其中的两列,这两列设置的是不能为空,等我添加一条新纪录保存时,出现提示那两项不能为空,不能保存。如何在这种情况下让这两列有初始值,能顺利保存(在建库时已经给这两项设置了初始值,但是还是出现上述问题!?)
如何在datagrid中初始化新增列
比如,我新增加一列时,让其初始化成我想要的值
如何在DropDownList中初始化值?
我从数据库读取值. 我想初始化填入一个 "请选择" 也就是在读取数据库值的同时在最上面加入一个"请选择" 如何加
如何在单选框中进行初始化?
在单选框中,如何进行初始化后,就可以默认地选中其中的一个。也就是在单选框中有一个小黑点表示选中了。rnrn我做的程序,虽然初始化了,可就是没有那个小黑点出现。当用鼠标点击后才会出现!rn
MFC中工具栏上的字怎么弄下划线?
就是文件的工具栏上不是有 文件(F) 编辑(E) 查看(V) 之类的,其中那些字母都是有下划线么?应该怎么弄下划线呢?是在VS2008的资源的menu里设置么?
java 中 JTextField 中怎样拒绝复制
java 中 JTextField 中怎样拒绝复制rnrnrnrn比如说,我单击右键,选择粘贴时,提示,不给粘贴、rnrnrn应该怎么搞啊
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数

相似问题