Tag: jtextfield

将JTextField输入转换为Integer

我是JAVA的新手,我正在尝试将来自JTextField的输入转换为整数,我尝试了很多选项,但没有任何工作,eclipse总是给我一个错误,错误对我来说没有意义。 import java.awt.Graphics; import java.awt.Color; public class circle extends Shape{ public int x; public int y; public int Radius; public circle (int Radius, int x, int y, Color c){ super(c); this.x = x; this.y = y; this.Radius = Radius; } public void draw(Graphics g){ g.setColor(super.getColor()); g.fillOval(x-Radius, y-Radius, Radius * 2, Radius * 2); } }

如何在鼠标单击JTextField时清除JTextField

当鼠标在该文本字段中单击时,我需要使该程序清除文本字段中的文本。 我尝试了一些东西,但没有一个还没有为我工作。 以下是完整的代码: public class TimerClassPanel extends JFrame implements MouseListener{ public TimerClassPanel(){ setTitle(“Timer Class”); setSize(WIDTH, HEIGHT); timer = new Timer(DELAY, new TimerEventHandler()); pane = getContentPane(); pane.setLayout(null); int r = (int)(9.0 * Math.random()) + 1; String str2 = Integer.toString(r); label = new JLabel(str2, SwingConstants.CENTER); label.setSize(150,30); label.setLocation(0,0); textField = new JTextField(); textField.setSize(150,30); textField.setLocation(150,0); startB = new JButton(“Start”); […]

如何使jtextfield只接受netbeans中的字符

我已经完成了netbeans注册的示例项目。 在jtextfield1中是用户ID,而Jtextfiled7是国家,两者都必须在字符中不是数字或不允许空格和特殊字符。有可能吗?

如何让JTextField响应回车键

所以我希望得到一个JTexField,当按下回车键并将光标放入其中时,将文本放入JTextArea中。 有人可以帮忙吗?

JTextField中没有空格

我怎样才能禁止用户将空格放入JTextField? 甚至不可能写空白。

如何设置摆动组件的大小

我想自定义JTextField对象的高度和宽度。 我尝试过使用setSize方法,将width和height作为维度传递,也作为int传递。 但它们似乎都不起作用。 我是否遗漏了某些内容,例如面板上的某些强制性方法调用或某些内容,以便大小定制有效? 请帮忙。 提前致谢。 编辑:这里有一些代码: public class WestPanel extends JPanel{ private JLabel dateL; private JTextField date; public WestPanel(){ setBackground(Color.white); setLayout(new GridLayout(1,2,0,0)); dateL=new JLabel(“Date: “); date=new JTextField(“dd/mm/yyyy”); date.setSize(60,10); add(dateL); add(date); //….remaining code….//

在DocumentFilter中使用正则表达式来解决JTextField问题

我在JTextField上使用DocumentFilter ,用于输入员工工作的时间。 filter是为了确保输入限制只有4个字符长,并且只允许数字。 可以使用或不使用小数,但只允许输入一次,输入小数后,应该只允许一个小数。 应接受9.5或10.5的含义,而不接受8.45。 到目前为止,我能够获得所需function的一半左右。 最多可输入4个字符,仅允许数字。 后者是使用replaceAll(“[^0-9.]”, “”)方法完成的。 我花了很多时间观看教程,阅读文档和相关问题,比如这个 , 这个 ,特别是这个,但似乎无法获得正则表达式。 特别是我无法弄清楚的一件事是为什么[^0-9]的正则表达式只能成功地允许数字,但^\\d除非作为字符类包含,例如[\\d] 我的filter代码如下: import java.awt.Toolkit; import javax.swing.text.AttributeSet; import javax.swing.text.BadLocationException; import javax.swing.text.DocumentFilter; public class TimeWorkedFilter extends DocumentFilter { private int maxCharacters; public TimeWorkedFilter(int maxChars) { maxCharacters = maxChars; } //”[^0-9.] public void insertString(FilterBypass fb, int offs, String str, AttributeSet a) throws BadLocationException { if […]

在JComponent和模型对象之间传输数据

我需要使用UI组件更新模型类的数据,同时使用数据对象中的更改更新UI组件。 详细说明大量数据依赖于其他数据。 ea:A和B的SUM。SUM需要在UI上显示并存储在Model Class中。 在实际情况中,我有大约58个可编辑的字段,混合了文本和数字。 计算字段的一半。 思考我有很多解决方案。 我的问题是,我没有经验来决定或判断什么是最好的方式,如果有的话。 两个主要候选人是: 第一个是将DocumentListeners添加到所有可编辑的UI字段。 更改后,它们会更新模型中的数据并调用方法来更新UI中的所有字段。 缺点 – 我粗暴的看法 – 是我有超过50个领域。 我不知道如何编写代码而不为每个UI组件编写特定的监听器。 也许以后可能会很难处理代码的变化。 创建一个类的数组,用于注册每个可编辑或计算的UI组件。 该类不仅将注册UI组件,还将使用reflection注册要从模型对象设置或检索信息的方法。 Document Lister仍将处理更改,但现在所有UI组件都可以相同,因为arrays可以处理更改。 一个好的观点是Model和UI之间的所有转换都可以在一个类中编码。 缺点是反思,人们似乎总是建议避免它。 处理这种情况的最好或最好的方法是什么? 代码我用来测试: public class Comunication { public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { //Main Window JFrame frame = new JFrame(); frame.setTitle(“SumTest”); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setMinimumSize(new Dimension(500,200)); frame.setVisible(true); […]

使用文档列表器限制文本字段中的字符

如何使用DocumentListener限制在JTextField输入的字符数? 假设我想最多输入30个字符。 之后,不能输入任何字符。 我使用以下代码: public class TextBox extends JTextField{ public TextBox() { super(); init(); } private void init() { TextBoxListener textListener = new TextBoxListener(); getDocument().addDocumentListener(textListener); } private class TextBoxListener implements DocumentListener { public TextBoxListener() { // TODO Auto-generated constructor stub } @Override public void insertUpdate(DocumentEvent e) { //TODO } @Override public void removeUpdate(DocumentEvent e) { […]

在JTableHeader中访问JTextField

我已经创建了一个TableHeader渲染器,它将在JTable的标题下创建一个JTextfield。 我现在遇到的问题,我从来没有在标题中获得焦点/访问此JTextfield。 我发现TableHeader渲染器只绘制组件而不做其余的事情,比如焦点和东西。 我已经尝试创建一个将在标题上设置的JTextfield数组,因此我可以在代码库中访问它们。 运气不好,我想知道是否可以在标题中访问这个JTextField,这是最好的方法。 Tableheader渲染器: public class TextFieldTableHeaderRenderer extends AbstractCellEditor implements TableCellRenderer { private MyPanel component; public TextFieldTableHeaderRenderer(){ } @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { component = new MyPanel(column); ((MyPanel)component).setLabelText(value.toString()); return component; } @Override public Object getCellEditorValue() { return ((MyPanel)component).getTextField(); } MyPanel: public class […]