Java 文本框JTextField输入的问题

文本框输入时,按住某个键会一直键入那个按的值,我想让按住时只键入一次该怎么做。
在下新手,还望各位大佬赐教(麻烦详细点,谢谢)

2个回答

用鼠标事件响应器吧,

是什么样的需求让你想这么做呢?(麻烦详细点,谢谢)

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Java JTextField文本框事件

我想要事件的功能是这样的:第一个文本框的值改动时,第二个文本框同时做出变动。在下新手,还望各位赐教(麻烦详细点,谢谢)

java文本框读取显示乱码

# package Conn; import java.sql.*; import java.util.*; import javax.swing.JOptionPane; import sun.security.krb5.internal.PAData; import sun.security.util.Password; public class conmysql { static String userword; static String pwd;//账号和密码 static Connection connection=null; static Statement stmt=null;//预备处理语句 static ResultSet rs=null;//结果集 static Vector<Object> sVec=new Vector<Object>(); static Vector<Object> cVec=new Vector<Object>(); static String[] sName={"username"}; static String[] sName1={"password"}; static String sql="select*from accountnumber"; public void connectMysql() { try { Class.forName("com.mysql.jdbc.Driver");//驱动加载 connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/student", "root","root"); System.out.println("数据库连接成功"); stmt = connection.createStatement() ; rs=stmt.executeQuery(sql); mySqlselect(rs); } catch (Exception e) { e.printStackTrace(); }finally{ try { connection.close(); stmt.close(); rs.close(); } catch (Exception e2) { e2.printStackTrace(); } } } private static void mySqlselect(ResultSet RS) { try { while (rs.next()) { String str=RS.getString("username"); String str1=RS.getString("password"); sVec.add(str); cVec.add(str1); } }catch(Exception e){ e.printStackTrace(); } } public int ISName(String user,String passwd) { // TODO Auto-generated method stub int m_b=0; Object[] str2=sVec.toArray(); Object[] str3=cVec.toArray(); System.out.println(str2.length); System.out.println(str3.length); for(int i=0;i<str2.length;i++){ if((String)str2[i]==user && (String)str3[i]==passwd){ m_b=1; break; } } return m_b; } } ## package loginSystem; import Conn.*; import java.awt.GradientPaint; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ButtonGroup; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JRadioButton; import javax.swing.JTextField; import com.sun.xml.internal.bind.v2.runtime.reflect.Accessor.GetterOnlyReflection; public class login extends JFrame implements ActionListener{ JPanel panel,panel1,panel2,panel3=null; JLabel label,label1,label2=null; JButton button,button1,button2=null; JMenuBar bar1; JMenu jm,jm1; JRadioButton jra,jra1; ButtonGroup bg; JTextField jt; JPasswordField jpa; conmysql conn=new conmysql(); public login() { //初始化一个空白容器 panel=new JPanel(); panel1=new JPanel(); panel2=new JPanel(); panel3=new JPanel(); label=new JLabel("用户名");//创建一个 用户名的标签 label1=new JLabel("密 码 "); label2=new JLabel("权 限"); button=new JButton("登录");//创建一个“登录”按钮 button1=new JButton("重置"); button2=new JButton("退出"); button.addActionListener( this);//设置监听 button1.addActionListener( this); button2.addActionListener(this); bar1=new JMenuBar();//新建一个菜单栏 jm=new JMenu("选项");//创建一个菜单 jm1=new JMenu("退出系统"); jm.add(jm1);//把“退出系统”菜单添加到“选项”菜单中 bar1.add(jm); //jra=new JRadioButton("管理员",true);//创建一个复选框 //jra1=new JRadioButton("学生"); bg=new ButtonGroup(); //bg.add(jra);//把复选框添加到按钮组里面 //bg.add(jra1); jt=new JTextField(10);//新建一个文本框 jpa=new JPasswordField(10);//新建一个密码文本框 panel.add(label); panel.add(jt); panel1.add(label1); panel1.add(jpa); panel2.add(label2); //panel2.add(jra); //panel2.add(jra1); panel3.add(button); panel3.add(button1); panel3.add(button2); this.setJMenuBar(bar1); this.add(panel); this.add(panel1); this.add(panel2); this.add(panel3); this.setLayout(new GridLayout(4,1)); this.setTitle("学生宿舍系统"); this.setSize(300, 250); this.setLocation(600,600); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); this.setResizable(true); } public static void main(String[] args) { new login(); } @Override public void actionPerformed(ActionEvent e) { if (e.getActionCommand()=="退出") {//获取标签名 System.exit(0); } else if (e.getActionCommand()=="登录") { String UserText=jt.getText(); char[] PaText=jpa.getPassword(); String PasswdText=PaText.toString(); System.out.println(PaText+" "+PasswdText); if (UserText==null||PasswdText==null) { System.out.println("用户名和密码为空"); } if (UserText==null&&PasswdText==null) { System.out.println("用户名或密码为空"); } conn.connectMysql(); int i=conn.ISName(UserText, PasswdText); System.out.println(i); if(1==i){ System.out.println("信息已确认"); }else{ System.out.println("用户名或密码错误"); //continue; } } } } ![图片说明](https://img-ask.csdn.net/upload/201711/14/1510671473_8048.png)

ubuntu下的java swing应用JTextField无法输入中文

在ubuntu中安装好了图形界面,搜狗输入法,企鹅fcitx, 可以在浏览器,系统控制台等地方输入中文,并且切换成英文输入。 但是启动好swing应用后不能在文本框里输入中文,输入法显示是搜狗输入法,输入法那里也无法通过快捷键切换。 有没有遇到类似情况的啊

java中如何实现在jtextfield中输入多行文字

![图片说明](https://img-ask.csdn.net/upload/201607/20/1469001950_771949.png) 在下面那个jtextfield框中看到光标在中间,我现在想一行一行添加文字,请问该怎么更改

java如何 设置文本框输出文字的大小

admin = new JTextField(); admin.setText("用户名"); admin.setFont(new Font("宋体", Font.PLAIN, 30)); 这样写为什么不对?一般怎么写?

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

我想在一个单行文本框未输入内容之前看到有文字提示,比如有一个输入账号框,框内提示:账号 就想QQ登陆界面账户密码框那样![图片](https://img-ask.csdn.net/upload/201703/09/1489027926_271186.png)

java swing JTextField 设置为空时 获取的内容是?

jtf3 = new JTextField(3); String date = this.jtf3.getText().trim(); 当文本框中我没有输入任何东西,date获得的值是什么?

java jtextfield文本输出

大家好,我在jtextfield写的文本,怎么随时打印出来?用jtextfield.gettext(),弄不出来!

java :为什么不能将文本框的名字添加进数据库(SQL server 2008)中?

我想将从文本框中输入的文字添加到数据库当中,控制台显示的是“数据添加成功的提示”,但是数据库那边id号虽然自增长了,可Name列中却是空的?为什么? (想贴图但是我新手不知道怎么贴,只能委屈大神看看这没有高亮的代码了...) ``` JPanel GongXiPanel = new JPanel(); // 新建面板保存标签 GongXiPanel.setLayout(new GridLayout(3, 1, 5, 5)); // 将面板设置成流式布局 getContentPane().add(GongXiPanel, BorderLayout.NORTH); JLabel Congra = new JLabel("恭喜你!",SwingConstants.CENTER); Congra.setFont(new Font("宋体",Font.BOLD,30)); GongXiPanel.add(Congra); winName = new JTextField(); NewName = winName.getText().toString(); winName.setVisible(true); winName.setBounds(new Rectangle(100, 140, 143, 22)); GongXiPanel.add(winName); I_am = new JButton("确定"); I_am.setVisible(true); I_am.setBounds(new Rectangle(20, 20, 20, 20)); GongXiPanel.add(I_am); winName.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { winName.requestFocus(); } }); I_am.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent arg0) { SaveWinner save = new SaveWinner(); save.setRecord(NewName); } }); ``` public class SaveWinner{ private String name = null; public void setRecord(String newName) { name = newName; Connection conn = null; conn = DBConnection.getConnection(); try { PreparedStatement statement = conn.prepareStatement("insert into Winner(winnerName) values(?)"); statement.setString(1, name); statement.executeUpdate(); statement.close(); conn.close(); System.out.println("插入成功!"); } catch (SQLException e) { e.printStackTrace(); } } } ``` 补充一下,我是想将用户输入的名字添加到数据库中,表里只有id列和Name列,id设为自增长。 现在虽然id会自动增长,但是Name列中的没有文字的,是空的,我不懂怎么回事。。。(我是新手)

eclipse中进行swing编程jtextfield切不出中文输入法

用的ubuntu16.04在eclipse用jtextfield不能进行中文输入但是直接用命令行编译运行就可以。。求解谢谢各位

Java中如何判断文本输入框中输入的内容是否重复?

我把文本输入框输入的内容存到一个txt文件中,但当我继续从文本输入框输入内容并按确定时,该如何判断我输入的内容在txt文件中已经存在?即当我输入一个学号后,如何判断输入的学号已经存在? ``` package bigwork; import java.awt.*; import java.awt.event.*; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import javax.swing.*; public class AddInfo extends JFrame implements ActionListener { JButton jb1,jb2=null; JTextField jtf1,jtf2,jtf3,jtf4=null; JLabel jl1,jl2,jl3,jl4,jl5=null; JPanel jp1,jp2,jp3,jp4,jp5,jp6=null; private String name ,num,cla,tel; private static AddInfo[] s=new AddInfo[100]; private int n=0; public static void main(String[] args) { AddInfo AI=new AddInfo(); AddInfo[] s=new AddInfo[100]; } public AddInfo() { //初始化界面 JPanel jp1=new JPanel(); JLabel jl1=new JLabel("****学生信息录入****",SwingConstants.CENTER); jl1.setFont(new Font("****学生信息录入****",Font.PLAIN,35)); jp1.add(jl1); JPanel jp2=new JPanel(); JLabel jl2=new JLabel("姓名:", SwingConstants.CENTER);// 文字居中 jl2.setFont(new Font("姓名",Font.PLAIN,20)); jtf1 = new JTextField(10); jp2.add(jl2); jp2.add(jtf1); JPanel jp3=new JPanel(); JLabel jl3=new JLabel("学号:", SwingConstants.CENTER);// 文字居中 jl3.setFont(new Font("学号",Font.PLAIN,20)); jtf2 = new JTextField(10); jp3.add(jl3); jp3.add(jtf2); JPanel jp4=new JPanel(); JLabel jl4=new JLabel("班级:", SwingConstants.CENTER);// 文字居中 jl4.setFont(new Font("班级",Font.PLAIN,20)); jtf3 = new JTextField(10); jp4.add(jl4); jp4.add(jtf3); JPanel jp5=new JPanel(); JLabel jl5=new JLabel("电话:", SwingConstants.CENTER);// 文字居中 jl5.setFont(new Font("电话",Font.PLAIN,20)); jtf4 = new JTextField(10); jp5.add(jl5); jp5.add(jtf4); JPanel jp6=new JPanel(); JButton jb1=new JButton("确定"); JButton jb2=new JButton("返回"); jp6.add(jb1); jp6.add(jb2); jb1.addActionListener(this); jb2.addActionListener(this); setLayout(new GridLayout(6,1,20,20)); add(jp1); add(jp2); add(jp3); add(jp4); add(jp5); add(jp6); this.setSize(500, 400);// 大小 setLocationRelativeTo(null);// 居中 this.setResizable(true);// 不可缩放 this.setTitle("学生信息录入系统");// 标题名 this.setDefaultCloseOperation(EXIT_ON_CLOSE);// 退出就关闭界面 this.setVisible(true); } @Override public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根 if(e.getActionCommand()=="返回") { Mainmenu.main(null); dispose(); } else { if(!jtf1.getText().isEmpty()&&!jtf2.getText().isEmpty()&&!jtf3.getText().isEmpty()&&!jtf4.getText().isEmpty()) { try { this.addinfo(); n++; } catch (IOException e1) { // TODO 自动生成的 catch 块 e1.printStackTrace(); } JOptionPane.showMessageDialog(null , "学生信息录入成功","提示消息",JOptionPane.WARNING_MESSAGE); }else if(jtf1.getText().isEmpty()||jtf2.getText().isEmpty()||jtf3.getText().isEmpty()||jtf4.getText().isEmpty()) { JOptionPane.showMessageDialog(null , "请输入完整学生信息!","提示消息",JOptionPane.WARNING_MESSAGE); } } } private void addinfo() throws IOException { // TODO 自动生成的方法存根 for(int i=0;i<=n;i++) { s[n].name=jtf1.getText(); //姓名 s[n].num=jtf2.getText(); //学号 s[n].cla=jtf3.getText(); //班级 s[n].tel=jtf4.getText(); //电话 } for(int i=0;i<n;i++) { while(s[i].num==jtf2.getText()) { JOptionPane.showMessageDialog(null , "已存在此学号,请重新输入!","提示消息",JOptionPane.WARNING_MESSAGE); } } FileWriter fw = new FileWriter("D:\\JAVA\\PROJECT\\newstudent.txt",true); fw.write(s[n].num+" "+s[n].name+" "+s[n].cla+" "+s[n].tel+"\r\n\r\n"); fw.close(); } } ```

java如何实现在文本框输入姓名然后经过查询后在另一文本框中输出查询结果(不用数据库)

做的是一个通讯录页面系统,用于储存姓名和电话 str里面我通过input存入过了一些内容,并且还把内容传入到了文件中 ``` public void input(JTextField b1,JTextField b2 ) { Person a=new Person(); a.setName(b1.getText()); a.setTelnumber(b2.getText()); str.add(a); } ``` ``` public void writeFile(String filename) { FileWriter fw =null; try{ fw=new FileWriter("D:/ss.txt",true); for(int i=0;i<str.size();i++) { fw.write(str.get(i).toString()); fw.write("\n"); } fw.flush(); fw.close(); JOptionPane.showMessageDialog(null, "保存成功"); }catch (Exception ex) { ex.printStackTrace(); } } ``` ``` public void actionPerformed(ActionEvent e) { if(e.getSource()==a3) { a.input(a1,a2); JOptionPane.showMessageDialog(null,"录入成功"); } if(e.getSource()==a4) { a.writeFile("D:/ss.txt"); } } ``` 问题就在于 查找名字来对应输出电话号码时,无论输入了什么名字,结果都是null ``` ArrayList<Person>str=new ArrayList<Person>(); ``` ``` public String searchByName(String name) { for(int i=0;i<str.size();i++) { if(name.equals(str.get(i).getName())) { return str.get(i).getTelnumber(); ``` ``` } } return null; ``` 下面是页面设置和搜索过程 ``` import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.Scanner; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; public class Search extends JFrame implements ActionListener{ PhoneBook a=new PhoneBook(); JButton b1=new JButton("确定"); JTextField a3=new JTextField(20); JTextField a4=new JTextField(20); Search(){ JLabel tt=new JLabel("请输入姓名:"); JLabel tt1=new JLabel("电话号码为:"); setSize(500,500); setBounds(300,300,300,300); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container s1= getContentPane(); s1.setLayout(null); s1.add(tt); s1.add(a3); s1.add(tt1); s1.add(a4); s1.add(b1); tt.setBounds(10,40,100,18); a3.setBounds(10,80,100,18); tt1.setBounds(10,120,100,18); a4.setBounds(10,160,100,18); b1.setBounds(10, 200, 100,18); setVisible(true); b1.addActionListener(this); } public void actionPerformed(ActionEvent e) { if(e.getSource()==b1) { String name=a3.getText(); String tel=a.searchByName(name); System.out.println(tel); a4.setText(tel); } } } ``` 小白一个,有没有大神告诉我一些思路或者告诉我错在哪了!!![图片说明](https://img-ask.csdn.net/upload/202006/17/1592388381_860685.png)

java如何拿到jpanel中的jtextfield

java如何拿到jpanel中的jtextfield这个组件,不是里面的内容

java设置TextField初始状态,提示语句

提示语句颜色是比较暗的灰的,当我们要输入的时候提示语句自动消失

java怎么限制键盘输入只能输入数字和一个小数点?

如图 能实现输入数字和小数点,但是能输入多个小数点,代码怎么写能实现只输入一个小数点?求大神帮助~~万分感谢 ![图片说明](https://img-ask.csdn.net/upload/201712/05/1512485024_636927.jpg)

Java如何实现向JTabel表格中写入从文本框中得到的内容,并且文本框可以得到多组数据?

如图: ![图片说明](https://img-ask.csdn.net/upload/201812/03/1543834389_69651.png) 我从这个图形界面输入成绩,然后当我按下下图的确定按钮时,如何在其JTable中显示相对应的各项成绩的信息。 ![图片说明](https://img-ask.csdn.net/upload/201812/03/1543834469_456045.png) 或者该如何操作才能在表格中写入文本框输入的内容? 求大神救急了,万分感谢万分感谢万分感谢。 如果可以的话也可以加微信细细交流。

Java题,编写一个JFrame窗口.......救救猫咪.jpg

Java题:编写一个JFrame窗口,要求如下: 窗口包含一个JLabel标签,一个JTextField文本框和一个JButton按钮。界面采用BorderLayout布局管理方式,其中,JLabel放在BorderLayout.CENTER区域,JTextField和JButton放在一个JPanel中,将JPanel放在BorderLayout.SOUTH区域。在文本框中输入任意文字,点击“确定”按钮,输入的内容在JLabel标签中显示,且字体为“华文行楷”,加粗(Font.BOLD),字号为40,字体颜色为Color.RED。JFrame窗口的初始大小为(600,400),显示位置为(200,300),窗口标题为“文本输入

关于swing的输入框的输入法显示位置

在用jtextfield的时候,点击输入了时候输入法一直固定在屏幕右下角而不是像跟随光标,怎么样才能让输入法跟随光标呢,输入法那里已经设置了光标跟随的

怎么解决java网络通信编程ip和port是从文本框中获取的?

为什么我把connect()方法加入button1的事件中就会黑屏 代码如下 客户端: package sunxu.util; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class ClientSocketFrame extends JFrame { /** * */ private static final long serialVersionUID = 1L; private PrintWriter writer; // 声明PrintWriter类对象 private BufferedReader reader; // 声明BufferedReader对象 private Socket socket; // 声明Socket对象 private JTextArea ta_info; // 创建JtextArea对象 JButton button1 = new JButton("Connect"); //private JTextField tf_send; // 创建JtextField对象 private InetAddress sendIp; private int sendPort; private void connect() { // 连接套接字方法 ta_info.append("Connect to server…\n"); // 文本域中信息信息 try { // 捕捉异常 socket = new Socket(sendIp,sendPort); // 实例化Socket对象 while (true) { writer = new PrintWriter(socket.getOutputStream(), true); reader = new BufferedReader(new InputStreamReader(socket .getInputStream())); // 实例化BufferedReader对象 ta_info.append("Client connected…\n"); // 文本域中提示信息 getServerInfo(); } } catch (Exception e) { e.printStackTrace(); // 输出异常信息 } } public static void main(String[] args) { // 主方法 ClientSocketFrame clien = new ClientSocketFrame(); // 创建本例对象 clien.setVisible(true); // 将窗体显示 //clien.connect(); // 调用连接方法 } private void getServerInfo() { try { while (true) { if (reader != null) { String line = reader.readLine();// 读取服务器发送的信息 if (line != null) ta_info.append("接收到服务器发送的信息:" + line + "\n"); // 显示服务器端发送的信息 } } } catch (Exception e) { e.printStackTrace(); } finally { try { if (reader != null) { reader.close();// 关闭流 } if (socket != null) { socket.close(); // 关闭套接字 } } catch (IOException e) { e.printStackTrace(); } } } /** * Create the frame */ public ClientSocketFrame() { super(); setTitle("客户端"); setBounds(100, 100, 361, 257); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final JPanel panel = new JPanel(); getContentPane().add(panel, BorderLayout.NORTH); panel.setBorder(BorderFactory.createTitledBorder("客户机设置:")); final JLabel label = new JLabel(); label.setText("Server IP:"); panel.add(label); JTextField tf_sen= new JTextField(); tf_sen.setPreferredSize(new Dimension(50, 25)); panel.add(tf_sen); final JLabel label1 = new JLabel(); label1.setText("Server Port:"); panel.add(label1); JTextField tf_Port = new JTextField(); tf_Port.setPreferredSize(new Dimension(50, 25)); panel.add(tf_Port); final JButton button1 = new JButton("Connect"); button1.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { try { sendIp=InetAddress.getByName(tf_sen.getText()); } catch (UnknownHostException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } sendPort=Integer.parseInt(tf_Port.getText()); ta_info.append("Connect to server…\n"); // 文本域中信息信息 ta_info.append(sendIp+"\n"); // 文本域中信息信息 ta_info.append(sendPort+"\n"); // 文本域中信息信息 connect(); } }); panel.add(button1); final JPanel panel_1 = new JPanel(); getContentPane().add(panel_1, BorderLayout.SOUTH); final JLabel label_1 = new JLabel(); label_1.setText("Say:"); panel_1.add(label_1); JTextField tf_send = new JTextField(); tf_send.setPreferredSize(new Dimension(220, 25)); panel_1.add(tf_send); final JButton button = new JButton(); button.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { writer.println(tf_send.getText()); // 将文本框中信息写入流 ta_info.append("客户端发送的信息:" + tf_send.getText() + "\n"); // 将文本框中信息显示在文本域中 tf_send.setText(""); // 将文本框清空 } }); button.setText("Say"); panel_1.add(button); final JScrollPane scrollPane = new JScrollPane(); getContentPane().add(scrollPane, BorderLayout.CENTER); ta_info = new JTextArea(); scrollPane.setViewportView(ta_info); // } } 服务器: package sunxu.util; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.net.*; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; public class ServerSocketFrame extends JFrame { //private JTextField tf_send; private JTextArea ta_info; private PrintWriter writer; // 声明PrintWriter类对象 private BufferedReader reader; // 声明BufferedReader对象 private ServerSocket server; // 声明ServerSocket对象 private Socket socket; // 声明Socket对象socket private int sendPort; public void getServer() { try { server = new ServerSocket(sendPort); // 实例化Socket对象 ta_info.append("服务器套接字已经创建成功\n"); // 输出信息 while (true) { // 如果套接字是连接状态 ta_info.append("等待客户机的连接......\n"); // 输出信息 socket = server.accept(); // 实例化Socket对象 reader = new BufferedReader(new InputStreamReader(socket .getInputStream())); // 实例化BufferedReader对象 writer = new PrintWriter(socket.getOutputStream(), true); getClientInfo(); // 调用getClientInfo()方法 } } catch (Exception e) { e.printStackTrace(); // 输出异常信息 } } private void getClientInfo() { try { while (true) { String line = reader.readLine();// 读取客户端发送的信息 if (line != null) ta_info.append("接收到客户机发送的信息:" + line + "\n"); // 显示客户端发送的信息 } } catch (Exception e) { ta_info.append("客户端已退出。\n"); // 输出异常信息 } finally { try { if (reader != null) { reader.close();// 关闭流 } if (socket != null) { socket.close(); // 关闭套接字 } } catch (IOException e) { e.printStackTrace(); } } } public static void main(String[] args) { // 主方法 ServerSocketFrame frame = new ServerSocketFrame(); // 创建本类对象 frame.setVisible(true); //frame.getServer(); // 调用方法 } public ServerSocketFrame() { super(); setTitle("服务器端程序"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100, 100, 379, 260); final JScrollPane scrollPane = new JScrollPane(); getContentPane().add(scrollPane, BorderLayout.CENTER); ta_info = new JTextArea(); scrollPane.setViewportView(ta_info); final JPanel panel = new JPanel(); getContentPane().add(panel, BorderLayout.SOUTH); final JLabel label = new JLabel(); label.setText("Say:"); panel.add(label); JTextField tf_send = new JTextField(); tf_send.setPreferredSize(new Dimension(150, 25)); panel.add(tf_send); final JButton button = new JButton(); button.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { writer.println(tf_send.getText()); // 将文本框中信息写入流 ta_info.append("服务器发送的信息是:" + tf_send.getText() + "\n"); // 将文本框中信息显示在文本域中 tf_send.setText(""); // 将文本框清空 } }); button.setText("Say:"); panel.add(button); final JPanel panel_1 = new JPanel(); getContentPane().add(panel_1, BorderLayout.NORTH); panel_1.setBorder(BorderFactory.createTitledBorder("服务器设置:")); final JLabel label_1 = new JLabel(); label_1.setText("Port:"); JTextField tf_sen= new JTextField(); tf_sen.setPreferredSize(new Dimension(220, 25)); panel_1.add(label_1); panel_1.add(tf_sen); final JButton button1 = new JButton("Strat"); button1.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { sendPort=Integer.parseInt(tf_sen.getText()); getServer(); } }); panel_1.add(button1); } }

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

抖音上很火的时钟效果

反正,我的抖音没人看,别人都有几十万个赞什么的。 发到CSDN上来,大家交流下~ 主要用到原生态的 JS+CSS3。 具体不解释了,看注释: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/tit...

记录下入职中软一个月(外包华为)

我在年前从上一家公司离职,没想到过年期间疫情爆发,我也被困在家里,在家呆着的日子让人很焦躁,于是我疯狂的投简历,看面试题,希望可以进大公司去看看。 我也有幸面试了我觉得还挺大的公司的(虽然不是bat之类的大厂,但是作为一名二本计算机专业刚毕业的大学生bat那些大厂我连投简历的勇气都没有),最后选择了中软,我知道这是一家外包公司,待遇各方面甚至不如我的上一家公司,但是对我而言这可是外包华为,能...

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

推荐9个能让你看一天的网站

分享的这9个保证另你意外的网站,每个都非常实用!非常干货!毫不客气的说,这些网站最少值10万块钱。 利用好这些网站,会让你各方面的技能都得到成长,不说让你走上人生巅峰,但对比现在的你,在眼界、学识、技能方面都有质的飞跃。 一、AIRPANO 传送门:https://www.airpano.com/360photo_list.php 这是一个可以躺在家里,就能环游世界的神奇网站。 世界那么大,绝大多...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!

文章目录前言正文**1、Kaspersky Cyberthreat real-time map****2、Finding Home****3、Silk – Interactive Generative Art****4、Liquid Particles 3D****5、WINDOWS93****6、Staggering Beauty****7、Ostagram图片生成器网址****8、全历史网址*...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

一场疫情,炸出了退休的COBOL程序员

COBOL编程语言,估计大多数程序员从没听说过,我这样的编程老司机,也是只闻其名,从未一睹芳容。出门问了问度娘,答案如下:COBOL语言,是一种面向过程的高级程序设计语言,主要用于数据...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

讲真,这两款idea插件,能治愈你英语不好的病

时不时就有小伙伴问我,“二哥,能推荐一款 IDE 吗?”你看这话问的,现在搞 Java 的不都在用 Intellij IDEA 吗,还用得着推荐(我已经和 Eclipse 分手了)。然后小伙伴又说,“二哥,IDEA 支持中文吗?我英语不太好。”你看这话问的,搞编程的,英语不好是硬伤啊! 不过,随着 IDEA 最新版(版本号是 2020.1)的发布,英语不好的病可以彻底治愈了。为什么这么说呢?因为 ...

在拼多多上班,是一种什么样的体验?我心态崩了呀!

之前有很多读者咨询我:武哥,在拼多多上班是一种什么样的体验?由于一直很忙,没抽出时间来和大家分享。上周末特地花点时间来写了一篇文章,跟大家分享一下拼多多的日常。 1. 倒时差的作息 可能很多小伙伴都听说了,拼多多加班很严重。这怎么说呢?作息上确实和其他公司有点区别,大家知道 996,那么自然也就能理解拼多多的“11 11 6”了。 所以当很多小伙伴早上出门时,他们是这样的: 我们是这样的: 当...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

瑞德西韦重症用药结果再曝光,上百名重症一周内好转,股价大涨19%

郭一璞 发自 凹非寺量子位 报道 | 公众号 QbitAI期盼已久的瑞德西韦临床数据,现在“偷跑”了。在芝加哥大学医学院的临床试验中,125名病人参与,大部分人都已经出院,其中只有2名病...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

Vue商城——详情页功能

详情页实现思路 点击商品进去详情页,根据点击请求更加详细的信息,要传过来goodsItem的iid,根据id去服务器请求更加详细的信息;配置路由映射关系,点击进行跳转,带参数传递跳转 itemClick(){ this.$router.push('/detail/'+this.goodsItem.iid) /* this.$router.push({ ...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

自学编程的 6 个致命误区

嗨,小伙伴们大家好,我是沉默王二。本篇文章来和大家聊聊自学编程中的一些误区——这是我在 B 站上看了羊哥的一期视频后有感而发的文章。因为确实有很多读者也曾私信问过我这些方面的问题,很有代表性,所以我就结合自己的亲身体会来谈一谈,希望对小伙伴们有所启发。 01、追求时髦 所谓基础不牢,地动山摇啊。可很多小伙伴压根就没注意过这个问题,市面上出什么新鲜的技术就想去尝试,结果把自己学的乱七八糟,心灰意冷...

相关热词 c# 按行txt c#怎么扫条形码 c#打包html c# 实现刷新数据 c# 两个自定义控件重叠 c#浮点类型计算 c#.net 中文乱码 c# 时间排序 c# 必备书籍 c#异步网络通信
立即提问