JAVA 如何在窗体中显示输出结果

package keylogger;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
//创建窗口
public class readFile extends JFrame{
JPanel JPanel1;

JLabel reading;

public readFile(){

this.setSize(300,200);  

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  

this.setTitle("Keylogger!");  

this.setVisible(true);

JPanel1 = new JPanel();

add(JPanel1);

reading = new JLabel();//感觉应该在这里添加输入的内容,但是不知道怎么调用下面读取的内容

JPanel1.add(reading);

}
//读取TXT文件
public static void readFileMessage(String fileName) {

File file = new File(fileName);

BufferedReader reader = null;

try {

    System.out.println("按顺序读取文件的内容如下:");

    reader = new BufferedReader(new FileReader(file));


    String string = null;

    int line = 1;
    // 按行读取内容,直到读入null则表示读取文件结束
    while ((string = reader.readLine()) != null) {

        System.out.println("line " + line + ": " + string);

        line++;
    }

    reader.close();

} 
        catch (IOException e) {

    e.printStackTrace();

} finally {

    if (reader != null) {

        try {
            reader.close();

        } catch (IOException e1) {

        }
    }
}

}

//输出结果
public static void main(String[] args) {

String fileName = "D:/temp/test.txt";

System.out.println("输出文件的内容:");

readFile.readFileMessage(fileName);

        readFile r = new readFile();

}
}
这是一个读取TXT文件的程序,我想把读取的内容显示在窗体中,但是不知道该如何编写,
希望各位大神能给我一些帮助,感激不尽!!

5个回答

有没有具体一点的。。。

你从txt文件中读出来的内容不是放到string中去了吗?

JLable是用来显示标签的,那你得给它个文本才能显示吧。。
调用reading.setText(string)方法,这不就行了?

sinat_36930749
sinat_36930749 回复小神宝宝: 我还没解决呢。。。。
3 年多之前 回复
sinat_35134348
传说中的神话灬 我只是来看看楼主给你C币没,结果没有,不想回答了
3 年多之前 回复
sinat_36930749
sinat_36930749 就是在纠结该在JLabel哪里写些什么好。。我再试试。。感谢
3 年多之前 回复

用setText("输出内容")方法和getText()方法。只能帮你到这了。

 直接用J Text Area,将读取内容append这个组件上去就可以了,在构造函数中读取并显示。有问题私信联系。
sinat_36930749
sinat_36930749 我反应过来啦。。。其实我是不知道怎么在append那里调用下面的string。。。TAT
3 年多之前 回复
sinat_36930749
sinat_36930749 这学期刚接触JAVA。。。说的太专业我看不明白。。
3 年多之前 回复

既然会用bufferedreader,那就用bufferwriter就好了

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

package keylogger; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; //创建窗口 public class readFile extends JFrame{ JPanel JPanel1; JLabel reading; public readFile(){ this.setSize(300,200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setTitle("Keylogger!"); this.setVisible(true); JPanel1 = new JPanel(); add(JPanel1); reading = new JLabel();//感觉应该在这里添加输入的内容,但是不知道怎么调用下面读取的内容 JPanel1.add(reading); } //读取TXT文件 public static void readFileMessage(String fileName) { File file = new File(fileName); BufferedReader reader = null; try { System.out.println("按顺序读取文件的内容如下:"); reader = new BufferedReader(new FileReader(file)); String string = null; int line = 1; // 按行读取内容,直到读入null则表示读取文件结束 while ((string = reader.readLine()) != null) { System.out.println("line " + line + ": " + string); line++; } reader.close(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { } } } } //输出结果 public static void main(String[] args) { String fileName = "D:/temp/test.txt"; System.out.println("输出文件的内容:"); readFile.readFileMessage(fileName); readFile r = new readFile(); } } 这是一个读取TXT文件的程序,我想把读取的内容显示在窗体中,但是不知道该如何编写, 希望各位大神能给我一些帮助,感激不尽!!!

JAVA中append不显示输出的内容是怎么回事

package hh; import javafx.scene.chart.PieChart.Data; import javax.swing.*; import java.awt.BorderLayout; import java.awt.Container; import java.awt.Label; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import java.net.URLEncoder; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import com.sun.corba.se.spi.orbutil.fsm.Guard.Result; import ee.WeatherInf; import ee.util; import java.awt.*; //窗体颜色 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.net.URLEncoder; import java.util.*; public class window extends JFrame implements ActionListener{ JButton butok; JPanel panel1; TextField text1; JTextArea prince=new JTextArea(15, 30); public window() { setTitle("无敌天气预报"); //窗体标题 setLocation(250,250); //窗体位置 setSize(500,300); //窗体大小 panel1 =new JPanel(); //添加一个panel对象,方便布局 butok= new JButton("查询"); butok.addActionListener(this); text1=new TextField("输入要查询的城市:",20); panel1.add(text1); panel1.add(butok); add(panel1,BorderLayout.NORTH); add(new JScrollPane(prince),BorderLayout.CENTER); } public void actionPerformed(ActionEvent arg0) { // TODO 自动生成的方法存根 String str=text1.getText(); //将传入城市名的getNet接口类作为参数初始化线程类 getNet city=new getNet(str); Thread thread=new Thread(city); //线程开始 thread.start();// try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } prince.append(city.result); } public static void main(String[] args) { new window(); } } class getNet implements Runnable{ WeatherInf wInf; String city; String result; public getNet(String city){ this.city=city; } public void run() { try { //url串 String url="http://api.map.baidu.com/telematics/v3/weather?location="+URLEncoder.encode(city,"utf-8")+"&output=json&ak=YknGmxIoPugT7YrNrG955YLS"; //调用工具类的方法获取json数据 String content=util.getJsonString(url); //调用工具类的方法解释json数据 wInf=util.resolveWeatherInf(content); //将解释好的日期 城市 天气 温度 PM2.5 穿衣指数选出放入result String result=wInf.getWeatherdate() +" "+wInf.getLocation()+" "+wInf.getWeatherInfs()[0].getWeather()+" "+wInf.getWeatherInfs()[0].getTempertureOfDay() +" PM2.5指数 "+wInf.getPmTwoPointFive() +" 穿衣指数:"+wInf.getDressAdvise(); System.out.print(result); System.out.println(); } catch (Exception e) { System.out.println("查不到此地区天气!"); } } public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根 } public static void main(String agrs[]) { window win= new window(); //初始化窗体 win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置窗体关闭按钮 win.setVisible(true); //使窗体可见 } } 我编写了一个,点击按钮就能查询当地天气的程序,然后我单击按钮之后,天气的详情并不显示在append上的文本框,怎么办?

java界面里怎么将从数据库中按条件查询的结果显示在界面里。。急求

AirSelectpage.java: import javax.swing.*; import java.awt.event.*; import java.sql.*; public class AirSelectpage extends JFrame implements ActionListener{ /** * */ private static final long serialVersionUID = -3695058594377827316L; JLabel l; JTextField t=new JTextField(15); JButton jok; JButton jBack; String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; String url="jdbc:sqlserver://localhost:1433; DatabaseName=AirTicket"; String USER="sa"; String PASSWORD="123"; public void asPage(){ JPanel p; p=new JPanel(); l=new JLabel("请输入航班号:"); jok=new JButton("确认"); jBack=new JButton("返回"); p.add(l);p.add(t);p.add(jok);p.add(jBack); add(p); setSize(600,400); setLocation(400,200); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); jok.addActionListener(this); jBack.addActionListener(this); } private Connection con; private Statement stmt; private ResultSet rs; public void actionPerformed(ActionEvent e){ if(e.getSource()==jok){ String airnumber=t.getText().trim(); if(airnumber.equals("")){ JOptionPane.showMessageDialog(this,"对不起,请输入航班号!","错误!",JOptionPane.ERROR_MESSAGE); } else{ try{ Class.forName(driverName); con=DriverManager.getConnection(url,USER,PASSWORD); String sql="select 旅客.航班号,座位号,姓名,旅客.票号,票价,起点,终点,起飞时间,到达时间 from 旅客,航班,机票 where 航班.航班号=旅客.航班号 and 旅客.票号=机票.票号 and 旅客.航班号='"+airnumber+"'";//执行的sql语句 stmt=con.createStatement(); rs=stmt.executeQuery(sql); if(rs.next()){ new AirInformation(); } else{ JOptionPane.showMessageDialog(this,"航班号不存在,请重新输入!","错误!",JOptionPane.ERROR_MESSAGE); } } catch(ClassNotFoundException ex){ ex.printStackTrace(); } catch(SQLException ex){ ex.printStackTrace(); } } } if(e.getSource()==jBack){ Welpage wel=new Welpage(); wel.wPage(null); this.dispose(); } } } AirInformation.java: import javax.swing.*; import java.sql.*; public class AirInformation extends JFrame{ /** * */ private static final long serialVersionUID = -2888751890568230979L; // 定义组件 private JScrollPane scpDemo; private JTable tabDemo; // 构造方法 public AirInformation() throws SQLException{ // 窗体的相关属性的定义 super("JTable数据绑定示例"); this.setSize(1200,900); this.setLayout(null); this.setLocation(100,50); // 创建组件 this.scpDemo = new JScrollPane(); this.scpDemo.setBounds(10,50,1050,300); // 将组件加入到窗体中 add(this.scpDemo); // 显示窗体 this.setVisible(true); try{ // 获得连接 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch(Exception e){} Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433; DatabaseName=AirTicket","sa","123"); // 建立查询条件 String sql = "select 旅客.航班号,座位号,姓名,旅客.票号,票价,起点,终点,起飞时间,到达时间 from 旅客,航班,机票 where 航班.航班号=旅客.航班号 and 旅客.票号=机票.票号 and 旅客.航班号='A3001'"; PreparedStatement pstm = conn.prepareStatement(sql); // 执行查询 ResultSet rs = pstm.executeQuery(); // 计算有多少条记录 int count = 0; while(rs.next()){ count++; } rs=pstm.executeQuery(); // 将查询获得的记录数据,转换成适合生成JTable的数据形式 Object[][] info = new Object[count][9]; count = 0; while(rs.next()){ info[count][0] = rs.getString("航班号"); info[count][1] = rs.getString("座位号"); info[count][2] = rs.getString("姓名"); info[count][3] = rs.getString("票号"); info[count][4] = Integer.valueOf(rs.getInt("票价")); info[count][5] = rs.getString("起点"); info[count][6] = rs.getString("终点"); info[count][7] = rs.getTimestamp("起飞时间"); info[count][8] = rs.getTimestamp("到达时间"); count++; } // 定义表头 String[] title = {"航班号","座位号","姓名","票号","票价","起点","终点","起飞时间","到达时间"}; // 创建JTable this.tabDemo = new JTable(info,title); this.tabDemo.getTableHeader(); // 将JTable加入到带滚动条的面板中 this.scpDemo.getViewport().add(tabDemo); } } 当航班号为A3001 A3002。。。时,是可以显示出来的 当航班号为t.getText()时,就一片空白,什么都显示不了

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

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

java中 在一张图片上画一个矩形框

我想在一张图片上画一个矩形框 矩形框写好了 继承了Jpanel 但是只要add到frame上 就会覆盖原来的内容 有什么办法不覆盖吗? 两者都保留 下面代码main函数里 先add一个videoArea 然后再add矩形框的时候 就会覆盖原来的 有什么办法不覆盖吗 求教 ``` ```import javax.swing.*; import javax.swing.border.EmptyBorder; import java.awt.*; import java.awt.event.*; public class DrawSketch extends JPanel implements MouseMotionListener { private static final int recW = 75; private static final int MAX = 1; private Rectangle[] rect = new Rectangle[MAX]; private int numOfRecs = 0; private int currentSquareIndex = -1; public DrawSketch() { addMouseListener(new MouseAdapter() { @Override public void mousePressed(MouseEvent evt) { int x = evt.getX(); int y = evt.getY(); currentSquareIndex = getRec(x, y); if (currentSquareIndex < 0) // not inside a square { add(x, y); } } // @Override // // public void mouseClicked(MouseEvent evt) { // // int x = evt.getX(); // // int y = evt.getY(); // // if (evt.getClickCount() >= 2) { // // remove(currentSquareIndex); // // } // // } // }); addMouseMotionListener(this); } @Override public void paintComponent(Graphics g) { super.paintComponent(g); g.setColor(Color.RED); for (int i = 0; i < numOfRecs; i++) { ((Graphics2D) g).draw(rect[i]); } } public int getRec(int x, int y) { for (int i = 0; i < numOfRecs; i++) { if (rect[i].contains(x, y)) { return i; } } return -1; } public void add(int x, int y) { if (numOfRecs < MAX) { rect[numOfRecs] = new Rectangle(x, y, recW, recW); currentSquareIndex = numOfRecs; numOfRecs++; repaint(); } } @Override public void remove(int n) { if (n < 0 || n >= numOfRecs) { return; } numOfRecs--; rect[n] = rect[numOfRecs]; if (currentSquareIndex == n) { currentSquareIndex = -1; } repaint(); } @Override public void mouseMoved(MouseEvent event) { int x = event.getX(); int y = event.getY(); if (getRec(x, y) >= 0) { setCursor(Cursor.getPredefinedCursor(Cursor.CROSSHAIR_CURSOR)); } else { setCursor(Cursor.getDefaultCursor()); } } @Override public void mouseDragged(MouseEvent event) { int x = event.getX(); int y = event.getY(); System.out.println(x+"---"+y); if (currentSquareIndex >= 0) { Graphics graphics = getGraphics(); graphics.setXORMode(getBackground()); graphics.setColor(Color.RED); ((Graphics2D) graphics).draw(rect[currentSquareIndex]); rect[currentSquareIndex].x = x; rect[currentSquareIndex].y = y; ((Graphics2D) graphics).draw(rect[currentSquareIndex]); graphics.dispose(); } } public static void main(String[] args) { JFrame jFrame = new JFrame(); jFrame.setTitle(""); jFrame.setSize(1000, 500); jFrame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { System.exit(0); } }); JLabel videoArea = new JLabel("load a video,please",JLabel.CENTER); videoArea.setFont(new Font("",Font.BOLD,40)); videoArea.setBounds(new Rectangle(0, 0, 856, 480)); videoArea.setBorder(new EmptyBorder(0, 0, 0, 0)); Container cPane = jFrame.getContentPane(); cPane.add(videoArea); cPane.add(new DrawSketch()); jFrame.setVisible(true); } }

用Java做一个窗口应用程序,要求如下,怎么做啊?

做一个窗体应用程序"计算学生每人总成绩",用表格形式显示每个学生的成绩,单击按钮后表格中总成绩一栏可以显示每个学生的总成绩。

在java编写中如何让一个界面中文本框中的内容到另一个界面对应的文本框中

刚开始学习java,想做个查询成绩的,连接了sqlserver2008,但是很失败,不知道如何使一个界面中的准考证号与姓名在点了按钮之后跳转到另一个界面中,此时这个界面中对应的文本框中已经有了姓名等信息;用myeclipse编写的java,数据库也没连上。。。。求各位前辈们指点迷津。

Java AWT中如何输入文本,点击按钮后将文本输入到屏幕上

按照图片所展示的内容进行解释应该要清楚点。 ![图片说明](https://img-ask.csdn.net/upload/202004/23/1587632481_890279.png) 我现在想的是在Enter Text后面的Text Field输入东西,然后点击send,屏幕上方显示我输入的东西,也就是123.我现在是用了另外一个textfield(在屏幕上方)显示出我在下方输入的文本。但是我想的是实现下图这样的效果。 ![图片说明](https://img-ask.csdn.net/upload/202004/23/1587632717_777780.png) 下图这种看不出来是textfield,而且充满了除了下方按钮 TextField Label的整个屏幕。 想问下大家如何实现这样的功能。

JAVA中我想在一个界面中获得另一个界面的JRadioButton的值。

两个java文件 我想在MyFrame.java 中获得Register.java中JRadioButton(男or女)(已经在grop中了) 在MyFrame中NEW了Register对象。用Regiter对象register.getRadio().getText(); 老报错说不行。

JTextField的输出问题

``` class loginWindow extends JFrame implements ActionListener { JTextField titleText; JPasswordField passwordText; JLabel title; String eString; loginWindow() { setSize(200, 150); title = new JLabel("姓名"); titleText = new JTextField(10); passwordText = new JPasswordField(10); passwordText.setEchoChar('*'); titleText.addActionListener(this); passwordText.addActionListener(this); setLayout(new FlowLayout()); add(title); add(titleText); add(passwordText); setVisible(true); validate(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); eString=titleText.getText(); System.out.print(eString);} public void actionPerformed(ActionEvent e) { // eString=titleText.getText(); if (e.getSource() == titleText) System.out.println("用户名:" + eString); } ``` 为什么把 eString=titleText.getText()放在构造方法中,不能输出eString的值,而把 eString=titleText.getText()放在actionPerform中可以输出eString

请问各位大佬,在java设计的一个GUI界面中可以调用MATLAB中的程序吗?

请问各位大佬,在java设计的一个GUI界面中可以调用MATLAB中的程序吗?

Java Swing小程序,哪里不对?

我先是用Java写了一个小程序: ![图片说明](https://img-ask.csdn.net/upload/201603/08/1457372555_37847.jpg) 运行以后得到了正确的结果,也就是输出123。但是把它改成Java Swing以后,奇怪的事情发生了:结果只能输出最后一位,也就是3。 这是Java Swing的代码片段。![图片说明](https://img-ask.csdn.net/upload/201603/08/1457372876_845104.jpg) 我想知道是什么地方出了问题;以及要怎样修改,才能得到正确的结果。谢谢大家。

关于java swing 为什么界面空白

package com.bbm.view; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.HeadlessException; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.JTextField; import javax.swing.SwingConstants; import javax.swing.border.TitledBorder; public class BookBorrow extends JFrame { private static final long serivaVersionUID = 1L; private JPanel readerborrow_infoJP,bookborrowJP,buttonJP,readerinfoJP,reader_resultJP; private JScrollPane jscrollPane; private JTable jtable; private JLabel readeridJL,readernameJL,readertypeJL,ISBNJL,booktypeJL,booknameJL,authorJL,publishJL,publishdateJL,printtimeJL,unitpriceJL,nowdateJL,operatorJL; private JTextField readeridJTF,readernameJTF,readertypeJTF,ISBNJTF,booktypeJTF,booknameJTF,authorJTF,publishJTF,publishdateJTF,printtimeJTF,unitpriceJTF,nowdateJTF,operatorJTF; private JButton borrowJB,closeJB; public BookBorrow(){ setBounds(200,200,700,700); setTitle("图书借阅"); readerborrow_infoJP = new JPanel(new BorderLayout()); TitledBorder tb1 = new TitledBorder("读者借阅信息"); readerborrow_infoJP.setBorder(tb1); readerinfoJP = new JPanel(); readeridJL = new JLabel("读者编号:"); readeridJL.setHorizontalAlignment(SwingConstants.CENTER); readerinfoJP.add(readeridJL); readeridJTF = new JTextField(); readeridJTF.setColumns(10); readerinfoJP.add(readeridJTF); readernameJL = new JLabel("读者姓名:"); readernameJL.setHorizontalAlignment(SwingConstants.CENTER); readerinfoJP.add(readernameJL); readernameJTF = new JTextField(); readernameJTF.setColumns(10); readerinfoJP.add(readernameJTF); readertypeJL = new JLabel("读者类别:"); readertypeJL.setHorizontalAlignment(SwingConstants.CENTER); readerinfoJP.add(readertypeJL); readertypeJTF = new JTextField(); readertypeJTF.setColumns(10); readerinfoJP.add(readertypeJTF); readerborrow_infoJP.add(readerinfoJP,BorderLayout.NORTH); reader_resultJP = new JPanel(); jscrollPane = new JScrollPane(); jscrollPane.setPreferredSize(new Dimension(400,200)); jtable = new JTable(); jtable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF); jscrollPane.setViewportView(jtable); reader_resultJP.add(jscrollPane); readerborrow_infoJP.add(reader_resultJP,BorderLayout.CENTER); this.add(readerborrow_infoJP,BorderLayout.NORTH); bookborrowJP = new JPanel(); TitledBorder tb2 = new TitledBorder("图书借阅"); bookborrowJP.setBorder(tb2); GridLayout gridLayout = new GridLayout(5, 4, 8, 8); bookborrowJP.setLayout(getLayout()); ISBNJL = new JLabel("ISBN:"); ISBNJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(ISBNJL); ISBNJTF = new JTextField(); bookborrowJP.add(ISBNJTF); booktypeJL = new JLabel("类别:"); booktypeJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(booktypeJL); booktypeJTF = new JTextField(); bookborrowJP.add(booktypeJTF); booknameJL = new JLabel("书名:"); booknameJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(booknameJL); booknameJTF = new JTextField(); bookborrowJP.add(booknameJTF); authorJL = new JLabel("作者:"); authorJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(authorJL); authorJTF = new JTextField(); bookborrowJP.add(authorJTF); publishJL = new JLabel("出版社:"); publishJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(publishJL); publishJTF = new JTextField(); bookborrowJP.add(publishJTF); publishdateJL = new JLabel("出版日期:"); publishdateJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(publishdateJL); publishdateJTF = new JTextField(); bookborrowJP.add(publishdateJTF); printtimeJL = new JLabel("印刷次数:"); printtimeJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(printtimeJL); printtimeJTF = new JTextField(); bookborrowJP.add(printtimeJTF); unitpriceJL = new JLabel("单价:"); unitpriceJL.setHorizontalAlignment(SwingConstants.CENTER); unitpriceJTF = new JTextField(); bookborrowJP.add(unitpriceJTF); nowdateJL = new JLabel("当前日期:"); nowdateJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(nowdateJL); nowdateJTF = new JTextField(); bookborrowJP.add(nowdateJTF); operatorJL = new JLabel("操作人员:"); operatorJL.setHorizontalAlignment(SwingConstants.CENTER); bookborrowJP.add(operatorJL); operatorJTF = new JTextField(); bookborrowJP.add(operatorJTF); this.add(bookborrowJP,BorderLayout.CENTER); buttonJP = new JPanel(); borrowJB = new JButton("借阅"); closeJB = new JButton("关闭"); buttonJP.add(borrowJB); buttonJP.add(closeJB); this.add(buttonJP,BorderLayout.SOUTH); this.setVisible(true); this.setResizable(false); } public static void main(String[] args) { new BookBorrow(); } }

java用eclipse打包成jar后如何不需要控制台窗口

是一个有gui的jar项目,但我不想运行他时有个黑色窗口。另外,我向只要双击就能运行它,而不是要到命令行去开启

如何向新建的cmd窗口输出信息?

在控制台使用createProcess函数新建一个cmd窗口,能否使用WriteConsoleOutputCharacter函数向新建的cmd窗口输出字符串? 若不行,该如何实现?

调用jlin程序 C# Process调用程序 重定向输出没反应

用C#调用java ,命令行参数填写的是-jar "BC.jar" 打开C#程序以后,jar被成功启动,也有了输出 但是在输入处一直有一个>符号,导致我输入命令到java程序以后,重定向的输出没了反应 我的程序代码为: ``` static void Main(string[] args) { Process p = new Process(); p.StartInfo.FileName = "java"; //要执行的程序名称 p.StartInfo.UseShellExecute = false; //不使用WindowsShell p.StartInfo.RedirectStandardInput = true; //可能接受来自调用程序的输入信息 p.StartInfo.RedirectStandardOutput = true; //由调用程序获取输出信息 p.StartInfo.RedirectStandardError = true; //错误输出重定向 p.StartInfo.CreateNoWindow = false; //不显示程序窗口 p.StartInfo.Arguments = "-jar BC.jar"; p.StartInfo.WorkingDirectory = @"C:\Users\姬逍遥\Desktop\BC"; p.Start(); Task T = new Task(new Action(() => { while (!p.HasExited) { Console.Write(new char[] { (char)p.StandardOutput.Read() }); } })); T.Start(); while (!p.HasExited) { List<char> a = new List<char>(); char Last = ' '; while (Last != '\r') { a.Add((char)Console.Read()); Last = a.Last(); } p.StandardInput.Write(a.ToArray()); } } ``` Java代码: ![图片说明](https://img-ask.csdn.net/upload/201712/24/1514104790_498172.png) 最后运行C#程序输入命令: ![图片说明](https://img-ask.csdn.net/upload/201712/24/1514104828_36747.png) 发现卡在了读取那一步,代表直接没输出了: ![图片说明](https://img-ask.csdn.net/upload/201712/24/1514104880_106623.png) 该java程序在cmd下运行是这样子的: ![图片说明](https://img-ask.csdn.net/upload/201712/24/1514105106_691480.png) 这是那个jar:https://yivesmirror.com/files/bungeecord/BungeeCord-1287.jar 是一个MineCraft服务端核心,可能是jline输出,请问c#如何在不更改目标程序任何代码情况下解决此问题,不要谈什么winAPI读写dos窗体,太笨重。

用java语言编写文件属性查看器的实现

用java语言编写文件属性查看器的实现? 要求:通过选择窗体菜单选择某文件,并在窗体上显示该文件的所有常见的属性

JAVA单击事件退出当前应用程序点控制台按钮结束一样

我做的聊天室,客户端界面有个退出按钮。我想添加单击事件让他退出程序(要点控制台结束按钮那样的效果,关闭界面能实现。)如图:![图片说明](https://img-ask.csdn.net/upload/201505/26/1432611710_933601.jpg)点退出,相当于点了控制台那个标记

java socket网络聊天室 客户端接收不到服务端的消息

![图片说明](https://img-ask.csdn.net/upload/202004/17/1587121278_71861.png) 运行之后 服务端给客户端发消息 客户端接收不到服务端的消息 服务端可以接收到客户端的消息 求助!! 服务端代码: ``` package Chat; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.net.ServerSocket; import java.net.Socket; //如果一个类需要有界面的显示,那么该类就需要继承自JFrame,并被称为"窗体类"。 //1.定义JFrame窗体中的组件 //2.在构造方法中初始化窗体的组件 //3.使用网络编程完成数据的传输(TCP,UDP 协议) //4.实现发送按钮的监听点击事件 public class ServerChatMain extends JFrame implements ActionListener{ public static void main(String[] args) { //调用构造方法 new ServerChatMain(); } //属性 //文本域 private JTextArea jta; //滚动条 private JScrollPane jsp; //面板 private JPanel jp; //文本框 private JTextField jtf; //按钮 private JButton jb; //输出流 private BufferedWriter bw = null; //构造方法 public ServerChatMain(){ //初始化组件 jta = new JTextArea(); //注意:需要设置文本域默认不可编辑 jta.setEditable(false); //注意:需要将文本域添加到滚动条中,实现滚动效果。 jsp = new JScrollPane(jta); //面板 jp = new JPanel(); jtf = new JTextField(10); jb = new JButton("发送"); //注意:需要将文本框与按钮添加到面板中 jp.add(jtf); jp.add(jb); //注意:需要将文本框与面板全部添加到窗体中 this.add(jsp, BorderLayout.CENTER); this.add(jp,BorderLayout.SOUTH); //注意:需要设置标题,大小,位置,关闭,是否可见 this.setTitle("聊天室服务端"); this.setSize(300,300); this.setLocation(300,300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); //TCP服务端开始 //给发送按钮绑定一个监听点击事件 jb.addActionListener(this); try{ //1.创建服务端套接字 ServerSocket serverSocket= new ServerSocket(8888); //2.等待服务端的连接 Socket socket = serverSocket.accept(); //3.获取Socket通道输入流(使用BufferedReader实现每行读取) //InputStream in= socket.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); //4. 获取Socket通道输出流(使用BufferedWriter实现刷新和换行) //当用户需要点击发送按钮的时候需要写出数据 bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); //循环读取数据,并拼接到文本域中 String line = null; while((line=br.readLine())!=null){ //将读取的数据拼接到文本域中显示 jta.append(line+System.lineSeparator()); } //5.关闭ServerSocket通道 serverSocket.close(); }catch (IOException e){ e.printStackTrace(); } //TCP服务端结束 } @Override public void actionPerformed(ActionEvent e){ //System.out.println("发送按钮被点击了"); //1.获取文本框中发送的内容 String text =jtf.getText(); //2.拼接需要发送的内容 text ="服务端对客户端说:"+text; jta.append(text+System.lineSeparator() ); //3.发送 try { bw.write(text); bw.newLine(); bw.flush(); //4.清空文本框内容 jtf.setText(""); } catch (IOException e1) { e1.printStackTrace(); } } } ``` 客户端代码: ``` package Chat; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.net.Socket; //如果一个类需要有界面的显示,那么该类就需要继承自JFrame,并被称为"窗体类"。 //1.定义JFrame窗体中的组件 //2.在构造方法中初始化窗体的组件 public class ClientChatMain extends JFrame implements ActionListener { public static void main(String[] args) { //调用构造方法 new ClientChatMain(); } //属性 //文本域 private JTextArea jta; //滚动条 private JScrollPane jsp; //面板 private JPanel jp; //文本框 private JTextField jtf; //按钮 private JButton jb; //输出流 private BufferedWriter bw = null; //构造方法 public ClientChatMain() { //初始化组件 jta = new JTextArea(); //注意:需要设置文本域默认不可编辑 jta.setEditable(false); //注意:需要将文本域添加到滚动条中,实现滚动效果。 jsp = new JScrollPane(jta); //面板 jp = new JPanel(); jtf = new JTextField(10); jb = new JButton("发送"); //注意:需要将文本框与按钮添加到面板中 jp.add(jtf); jp.add(jb); //注意:需要将文本框与面板全部添加到窗体中 this.add(jsp, BorderLayout.CENTER); this.add(jp, BorderLayout.SOUTH); //注意:需要设置标题,大小,位置,关闭,是否可见 this.setTitle("聊天室客户端"); this.setSize(300, 300); this.setLocation(300, 300); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); //TCP客户端开始 //给发送按钮绑定一个监听点击事件 jb.addActionListener(this); try { //1.创建客户端套接字(尝试连接) Socket socket = new Socket( "192.168.1.106",8888); //2.获取socket通道输入流 BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream())); //3.获取socket通道输出流 bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); //循环读取数据,并拼接到文本域中 String line = null; while ((line = br.readLine()) != null) ; jta.append(line + System.lineSeparator()); //4.关闭socket通道 socket.close(); } catch (Exception e) { e.printStackTrace(); } //TCP客户端结束 } @Override public void actionPerformed(ActionEvent e){ //1.需要获取文本框中需要发送的数据内容 String text =jtf.getText(); //2.拼接内容 text = "客户端对服务端说:"+text; //3.自己显示 jta.append(text+System.lineSeparator()); try { //4.发送 bw.write(text); bw.newLine(); bw.flush(); //5.清空 jtf.setText(""); } catch (IOException ex) { ex.printStackTrace(); } } } ```

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

ArrayList源码分析(入门篇)

ArrayList源码分析 前言: 写这篇博客的主要原因是,在我上一次参加千牵科技Java实习生面试时,有被面试官问到ArrayList为什么查找的速度较快,插入和删除的速度较慢?当时我回答得不好,很大的一部分原因是因为我没有阅读过ArrayList源码,虽然最后收到Offer了,但我拒绝了,打算寒假学得再深入些再广泛些,下学期开学后再去投递其他更好的公司。为了更加深入理解ArrayList,也为

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

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

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

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

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

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

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

玩转springboot启动banner定义所得

最近接手了一个springboot项目,不是不熟悉这个框架,启动时打印的信息吸引了我。 这不是我熟悉的常用springboot的打印信息啊,我打开自己的项目: 还真是的,不用默认的感觉也挺高大上的。一时兴起,就去研究了一下源代码,还正是有些收获,稍后我会总结一下。正常情况下做为一个老程序员,是不会对这种小儿科感兴趣的,不就是一个控制台打印嘛。哈哈! 于是出于最初的好奇,研究了项目的源代码。看到

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

你打算用Java 8一辈子都不打算升级到Java 14,真香

我们程序员应该抱着尝鲜、猎奇的心态,否则就容易固步自封,技术停滞不前。

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

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

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

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

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

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

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

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

立即提问
相关内容推荐