JFrame的JButton点击事件无法正确显示另外的界面 5C

网上找了个程序,自己改,是一个小游戏,本来只有一个游戏界面,我想添加一个登录页面,结果就刚加了个界面就卡住了。从Fishlord类中使用main()函数可以正确显示,但是通过另外一个JFrame通过JButton点击事件调用Fishlord时无法显示,而且连右上角的关闭按钮都不能点击! 代码在下面:
这个界面有按钮,点击按钮跳转到下面那个iframe,在JButton点击事件里使用new的方法

package fishhh;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class Login {

private static JFrame frame;
public static void main(String[] args) throws Exception {
    // 窗体大小
    frame = new JFrame();
    frame.setSize(800, 480);
    frame.setLayout(null);//设置布局管理器为空
    JButton button = new JButton("登     录");
    button.setBounds(new Rectangle(280, 210, 220, 30));//参数分别是坐标x,y,宽,高
    frame.add(button);
    JTextField tfUser = new JTextField();
    tfUser.setBounds(new Rectangle(280, 140, 220, 25));
    frame.add(tfUser);
    JPasswordField tfPwd = new JPasswordField();
    tfPwd.setBounds(new Rectangle(280, 170, 220, 25));
    frame.add(tfPwd);
    // 显示窗体
    frame.setVisible(true);
    ImageIcon img = new ImageIcon("bg.jpg");// 这是背景图片
    JLabel imgLabel = new JLabel(img);// 将背景图放在标签里。
    frame.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE));
    imgLabel.setBounds(0, 0, frame.getWidth(), frame.getHeight());
    Container cp = frame.getContentPane();
    cp.setLayout(null);
    ((JPanel) cp).setOpaque(false); // 这样就能显示出背景图片出来了
    button.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
          //创建新的窗口
            frame.setVisible(false);
                try {
                    new Fishlord();
                } catch (Exception e1) {
                    e1.printStackTrace();
                }
        }
    });
}

public void close(){
    frame.dispose();
}

}

跳转到这个界面
package fishhh;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Random;

import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Fishlord {

public static void main(String[] args) throws Exception {
    new Fishlord();
}

public Fishlord() throws Exception{
    JFrame frame = new JFrame("捕鱼达人");
    Pool pool = new Pool();
    frame.add(pool);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 关闭窗口时关闭程序
    frame.setSize(800, 480);
    frame.setLocationRelativeTo(null);// 设置窗口居中,必须放在setSize之后
    frame.setResizable(false);// 不允许用户改变窗口大小
    frame.setVisible(true);
    pool.action();
}

}

class Pool extends JPanel {
BufferedImage background = null;
Fish fish = null;;
Fish[] fishs = new Fish[9];
Net net = null;
int score = 0;
int fontsize = 20;
Font font = new Font("楷体", Font.BOLD, fontsize);

Pool() throws IOException {
    // background = ImageIO.read(new File("bg.jpg")); //读取工程目录图片
    background = ImageIO.read(getClass().getResourceAsStream("/images/bg.jpg"));
    /**
     * 1)getClass().getResourceAsStream()方法读取的是src/images包下的图片 2)background
     * = ImageIO.read(new File("images/bg.jpg"));
     * 这个方法读取的是工程CatchFish/images文件夹下的图片
     */

    for (int i = 0; i < 9; i++) {
        fish = new Fish("fish0" + (i + 1));
        fishs[i] = fish;
        fish.start();
    }
}

public void paint(Graphics g) { // paint什么时候调用?
    // System.out.println("paint");
    g.drawImage(background, 0, 0, null);
    for (int i = 0; i < fishs.length; i++) {
        Fish tempfish = fishs[i];
        g.drawImage(tempfish.fishimage, tempfish.x, tempfish.y, null);
    }
    if (net.show) {
        g.drawImage(net.netimage, net.x - net.width / 2, net.y - net.height
                / 2, null);
    }
    g.setFont(font);
    g.setColor(Color.white);
    g.drawString("SCORE:", 10, 20);
    g.setColor(Color.red);
    g.drawString("      " + score, 10, 20);
}

public void action() throws Exception {

    net = new Net();

    MouseAdapter m = new MouseAdapter() {
        public void mouseEntered(MouseEvent e) {
            net.show = true;
        }

        public void mouseExited(MouseEvent e) {
            net.show = false;
        }

        // 在鼠标移动时候执行
        public void mouseMoved(MouseEvent e) {
            // MouseEvent 鼠标事件:鼠标事件发生时间地点人物
            long time = e.getWhen();
            int x = e.getX();
            int y = e.getY();

            // Object o=e.getSource();//发生事件的物体pool
            net.x = x;
            net.y = y;
        }

        public void mousePressed(MouseEvent e) {
            catchFish();// catch:抓鱼 在鼠标按下的时候,进行抓鱼操作
        }

    };
    // 在当前方法中代表当前的 这个(this)pool对象
    this.addMouseListener(m); // 处理这个pool对象鼠标动作
    this.addMouseMotionListener(m);
    net.show = true;// 调试代码

    while (true) {
        // System.out.println("repaint");
        repaint();
        try {
            Thread.sleep(80);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

protected void catchFish() {
    // 鱼在不在网的范围内?在的话就让鱼消失
    for (int i = 0; i < fishs.length; i++) {
        fish = fishs[i];
        if (fish.contains(net.x, net.y)) {// 判断在不在网的范围
            fish.getOut();
            score += fish.width / 10;
        }
    }
}

}

class Fish extends Thread {
int x, y, index = 0, width, height, step;

BufferedImage fishimage;
BufferedImage[] fishimages = new BufferedImage[9];
Random r;

Fish(String fishname) throws IOException {
    // System.out.println("Fish()");
    for (int i = 0; i < 9; i++) {
        // BufferedImage tempfishimage = ImageIO.read(new File(fishname +
        // "_0"
        // + (i + 1) + ".png"));
        BufferedImage tempfishimage = ImageIO.read(getClass()
                .getResourceAsStream(
                        "/images/" + fishname + "_0" + (i + 1) + ".png"));
        fishimages[i] = tempfishimage;
    }
    fishimage = fishimages[index];
    r = new Random();// 不写数字表示的是int范围内的一个数字
    width = fishimage.getWidth();
    height = fishimage.getHeight();
    x = 790;
    y = r.nextInt(470 - height);
    step = r.nextInt(4) + 1;
}

public void run() {
    while (true) {
        try {
            Thread.sleep(50);
            index++;
            fishimage = fishimages[index % fishimages.length];
            // 现在要动,所以要改变图片?300
            x = x - step;
            if (x <= 0 || y <= 0 || y >= 480)
                getOut();
        } catch (Exception e) {
        }
    }
}

// 检查(netx,nety)的坐标是否在鱼的范围之内
public boolean contains(int netx, int nety) {
    int dx = netx - x;
    int dy = nety - y;
    return dx >= 0 && dx <= width && dy >= 0 && dy <= height;
}

void getOut() {
    Random r = new Random();
    x = 790;
    y = r.nextInt(470 - height);
    step = r.nextInt(4) + 1;
}

}

class Net {
// 网的位置随着鼠标指针的移动而移动
BufferedImage netimage = null;
int x = 0, y = 0, width, height;
boolean show;// 是否显示当前网对象

Net() throws Exception {
    // netimage = ImageIO.read(new File("net09.png"));

    netimage = ImageIO.read(getClass().getResourceAsStream(
            "/images/net09.png"));
    show = false;
    width = netimage.getWidth();
    height = netimage.getHeight();
}

}

1个回答

Fishlord类直接extends JFrame,试试

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
JFrame窗体中不显示组建,我的代码完全是书上的代码,但是运行之后就是不显示?求大佬给看一下哪里出问题了

public class MyFrame extends JFrame { public static void main(String []args) { new MyFrame(); } public MyFrame() { Container container = new Container(); container.setLayout(null); JLabel jl = new JLabel("JFrame"); jl.setHorizontalAlignment(SwingConstants.CENTER); JButton bl = new JButton("弹出对话框");// 定义按钮 bl.setBounds(100, 100, 100, 21); bl.setBackground(Color.white); bl.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { new MyJDialog(MyFrame.this).setVisible(true); } }); container.add(bl); container.add(jl); container.setBackground(Color.white); setSize(600, 400); setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); setLocationRelativeTo(null); setVisible(true); } class MyJDialog extends JDialog { public MyJDialog(MyFrame frame) { super(frame, "JDialog", true); Container container1=new Container(); container1.add(new JLabel("JDialog")); setBounds(120, 120, 100, 100); } } }

为什么JFrame中的以标签形式的图标显示不出来?代码如下,谢谢!

import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Logon //implements ActionListener { public Logon() { JFrame f=new JFrame("登陆界面");//建立一个标题为"登陆界面"的窗体 Container contentPane=f.getContentPane();//建立一个虚拟容器Container对象 Icon icon=new ImageIcon("logo.jpg"); JLabel ic=new JLabel(icon); JLabel jlb1=new JLabel("用户名:"); JTextField txt1=new JTextField(15); JLabel jlb2=new JLabel("密码:"); JTextField txt2=new JTextField(15); JButton b1=new JButton("登陆"); JButton b2=new JButton("取消"); contentPane.setLayout(new FlowLayout()); contentPane.add(ic); contentPane.add(jlb1); contentPane.add(txt1); contentPane.add(jlb2); contentPane.add(txt2); contentPane.add(b1); contentPane.add(b2); f.setSize(500,300); f.validate(); f.show(); f.setVisible(true); } public static void main(String args[]) { new Logon(); } }

Java Swing窗体显示有问题,为什么呢?

![图片说明](https://img-ask.csdn.net/upload/201505/16/1431790514_72339.png) 代码如下: ``` import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import java.awt.GridLayout; public class Display extends JFrame{ private JPanel jp = new JPanel(); private JMenuBar menu = new JMenuBar(); private JMenu m1,m2,m3; public JButton b[]; public Container container = getContentPane(); public Display() { container.setLayout(new GridLayout(4,4,3,3)); addKeyListener(this); m1 = new JMenu("选择"); m2 = new JMenu("帮助"); m3 = new JMenu("开始"); m1.add(m3); menu.add(m1); menu.add(m2); b = new JButton[17]; this.Init(); for(int i=1;i<=16;i++){ b[i] = new JButton(); b[i].setText("0"); b[i].setRolloverEnabled(false); container.add(b[i]); } public static void main(String[] args) { Display d = new Display(); Display.displayOnDesktopCenter(d); } } ``` 不知道为什么显示会变成那个样子,而且一按那些按钮按钮上的文字会消失一部分,就像那个按钮边框消失一半一样。 补充:换了三个jdk版本也无济于事,换了Eclipse版本也是不行,所以我想应该是代码问题。

Java图形界面进度条显示问题

# 这是我最近做的关于java图形界面组件的小练习,主要功能是实现文件复制并显示进度。代码没有报错,运行也无异常,但是在程序运行过程中,进度条没有随着复制进度的增长而增长,一直显示为0%,只有复制完毕才会显示100%。但是我能用getValue()方法获取当前的进度值,而这个值是没有问题的,但是他没有在进度条中显示出来,不知道什么原因。 ## package com.GUI; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JProgressBar; import javax.swing.JTextField; public class TestControl1 { public static float fileSize = 0; public static float targetFileSize = 0; public static void main(String[] args) { // TODO Auto-generated method stub JFrame jf = new JFrame("带进度条的文件复制"); jf.setSize(500, 150); jf.setLocationRelativeTo(null); jf.setLayout(null); JPanel copyPanel = new JPanel(); copyPanel.setBounds(6, 10, 450, 40); copyPanel.setLayout(new FlowLayout()); JLabel srcFileAdress = new JLabel("源文件地址:"); JTextField adressText = new JTextField("f:/jdk"); adressText.setPreferredSize(new Dimension(100, 25)); JLabel copyLabel = new JLabel("复制到:"); JTextField copyText = new JTextField("f:/jdk2"); copyText.setPreferredSize(new Dimension(100, 25)); copyPanel.add(srcFileAdress); copyPanel.add(adressText); copyPanel.add(copyLabel); copyPanel.add(copyText); JPanel copyStartPanel = new JPanel(); copyStartPanel.setBounds(10, 60, 450, 50); copyStartPanel.setLayout(new FlowLayout()); JButton startCopyButton = new JButton("开始复制"); startCopyButton.setPreferredSize(new Dimension(100, 30)); JLabel fileCopyProgress = new JLabel("文件复制进度"); JProgressBar fileProgress = new JProgressBar(); fileProgress.setPreferredSize(new Dimension(126, 31)); fileProgress.setMaximum(100); fileProgress.setStringPainted(true); copyStartPanel.add(startCopyButton); copyStartPanel.add(fileCopyProgress); copyStartPanel.add(fileProgress); jf.add(copyPanel); jf.add(copyStartPanel); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setVisible(true); File srcFile = new File(adressText.getText()); calclateAllFilesize(srcFile); File targetFile = new File(copyText.getText()); startCopyButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub copyTo(srcFile, targetFile,fileProgress); } }); } public static void copyTo(File file1, File file2,JProgressBar showProgress) { File srcFile = file1; File targetFile = file2; JProgressBar fileProgress = showProgress; if (!srcFile.exists()) { return; } File[] allFile = srcFile.listFiles(); for (File each : allFile) { File nextFile = new File(targetFile.getAbsolutePath(), each.getName()); if (each.isDirectory()) { nextFile.mkdirs(); copyTo(each, nextFile,fileProgress); } else { try( FileReader fr = new FileReader(each); BufferedReader br = new BufferedReader(fr); FileWriter fw = new FileWriter(nextFile); PrintWriter pw = new PrintWriter(fw); ){ while(true){ String line = br.readLine(); if(line == null ){ break; } pw.println(line); pw.flush(); } }catch(IOException e){ e.printStackTrace(); } targetFileSize += (float)each.length(); int current = (int)(targetFileSize/fileSize*100); fileProgress.setValue(current); System.out.println(fileProgress.getValue()); if(current == 100){ JOptionPane.showMessageDialog(showProgress, "复制完毕"); } } } } public static void calclateAllFilesize(File file) { if (file.isFile()) { fileSize += (float)file.length(); } if (file.isDirectory()) { File[] fs = file.listFiles(); for (File f : fs) { calclateAllFilesize(f); } } } }

我swing了一个登陆界面,在eclipse中运行时显示正常,但是生成jar并运行jar后,背景不显示。

![图片说明](https://img-ask.csdn.net/upload/201904/14/1555249560_377777.jpg)![图片说明](https://img-ask.csdn.net/upload/201904/14/1555249570_781286.jpg) 我swing了一个登陆界面,在eclipse中运行时显示正常,但是生成jar并运行jar后,背景不显示。 ``` public class Login extends JFrame { JPanel contentPane; JPasswordField passwordField; public static void main(String[] args) { Login frame = new Login(); } public Login() { setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(600, 300, 600, 400); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); //组件 JLabel label1 = new JLabel("\u6B22\u8FCE\u767B\u9646\u7A3B\u7530\u7EFC\u5408\u79CD\u517B\u4FE1\u606F\u670D\u52A1\u7CFB\u7EDF"); label1.setForeground(Color.BLACK); label1.setFont(new Font("微软雅黑", Font.BOLD, 30)); label1.setHorizontalAlignment(SwingConstants.CENTER); label1.setBounds(34, 51, 511, 53); contentPane.add(label1); JLabel label2 = new JLabel("\u7528\u6237\u540D"); label2.setFont(new Font("宋体", Font.PLAIN, 20)); label2.setForeground(Color.BLACK); label2.setHorizontalAlignment(SwingConstants.CENTER); label2.setBounds(77, 136, 72, 32); contentPane.add(label2); JLabel label3 = new JLabel("\u5BC6\u7801"); label3.setForeground(Color.BLACK); label3.setFont(new Font("宋体", Font.PLAIN, 20)); label3.setHorizontalAlignment(SwingConstants.CENTER); label3.setBounds(77, 208, 72, 32); contentPane.add(label3); setVisible(true); setTitle("登陆"); //登陆界面布局 JButton button1=new JButton("登陆"); button1.setBounds(147, 284, 113, 27); contentPane.add(button1); JTextField textField=new JTextField(); textField.setBounds(177, 140, 302, 24); contentPane.add(textField); textField.setFont(new Font("宋体",Font.PLAIN,20)); textField.setColumns(10); JPasswordField passwordField=new JPasswordField(); passwordField.setBounds(177, 214, 302, 24); passwordField.setFont(new Font("宋体",Font.PLAIN,20)); contentPane.add(passwordField); JButton button2 = new JButton("清除"); button2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { textField.setText(""); passwordField.setText(""); } }); button2.setBounds(330, 284, 113, 27); contentPane.add(button2); //设置背景 ImageIcon imageIcon=new ImageIcon("src/picture/1.jpg"); JLabel label=new JLabel(imageIcon); label.setBounds(0, 0, imageIcon.getIconWidth(), imageIcon.getIconHeight()); getLayeredPane().add(label,new Integer(Integer.MIN_VALUE)); JPanel panel=(JPanel)getContentPane(); panel.setOpaque(false); JPanel panel2=new JPanel(); panel2.setOpaque(false); panel2.setLayout(null); //登陆功能 textField.setText("admin"); passwordField.setText("123"); button1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String str=textField.getText(); char ch[]=passwordField.getPassword(); String pass=new String(ch); /* boolean bool1= str=="admin"; boolean bool2= pass=="123"; System.out.println(bool1); System.out.println(bool2); */ if (str.equals("admin") && pass.equals("123") ){ mainpage p=new mainpage(); dispose(); } else { JOptionPane.showMessageDialog(null, "用户名或密码错误!","登陆失败!",JOptionPane.PLAIN_MESSAGE); } } }); } } ```

JAVA 窗口为什么不显示里面的内容

public class MainFrame { private JFrame mainframe; private JLabel JL_username; private JLabel JL_password; private JLabel JL2_password; private JTextField JTF_username; private JPasswordField JPF_password; private JPasswordField JPF2_password; private JButton button1; public MainFrame(){ setMainFrame(); } public void setMainFrame(){ mainframe = new JFrame("注册窗口"); mainframe.setBounds(200,100,250,250); mainframe.setVisible(true); mainframe.setResizable(true); setMainFramezujian(); } public void setMainFramezujian(){ JL_username = new JLabel("用户名"); JTF_username = new JTextField(13); JL_password = new JLabel("密码"); JPF_password = new JPasswordField(13); JL2_password = new JLabel("密码"); JPF2_password = new JPasswordField(13); button1 = new JButton("注册"); JPanel p1 = new JPanel(); FlowLayout FL = new FlowLayout(FlowLayout.RIGHT,15,15); p1.setLayout(FL); p1.add(JL_username); p1.add(JTF_username); p1.add(JL_password); p1.add(JPF_password); p1.add(JL2_password); p1.add(JPF2_password); mainframe.add(p1); JPanel p2 = new JPanel(); FlowLayout FL2 = new FlowLayout(FlowLayout.CENTER,15,12); p2.setLayout(FL2); p2.add(button1); mainframe.add(p1); mainframe.add(Box.createVerticalStrut(20),BorderLayout.NORTH); mainframe.add(Box.createHorizontalStrut(10),BorderLayout.EAST); mainframe.add(p2,BorderLayout.SOUTH); } public static void main(String[] args) { MainFrame login = new MainFrame(); } # }运行的结果是一个空的框框,但是鼠标点击一下边框,里面的内容才能正常显示,是怎么回事,代码的问题吗 ``` ```

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上的文本框,怎么办?

为什么我的swing运行的时候总是出现很多种不稳定的显示情况

为什么我的代码运行的时候总是出现很多种不稳定的显示情况,我是用swing 写的一个JFrame,用的borderlaout布局,每次运行至少都有三次不一样的效果出来,而且没有一种是正确的,急求怎么解决! package com.hxw.talkFrame; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class TalkFrame { /** * @param args */ public static void main(String[] args) { // TODO 自动生成的方法存根 try { UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } catch (Exception e) { e.printStackTrace(); } new MainWindow("人工智能"); } } class MainWindow extends JFrame implements ActionListener { /** * 主窗口 */ JMenuBar menuBar;// 主菜单 JToolBar toolBar;//工具栏 public MainWindow(String str) { super(str); this.setVisible(true); this.setSize(700, 530); this.setLocation(300, 160); this.setResizable(false); this.setDefaultCloseOperation(EXIT_ON_CLOSE); setLayout(new BorderLayout(0, 0)); showMenu(); //显示菜单栏 setJMenuBar(menuBar);//设置菜单栏 showToolBar(); add(toolBar,BorderLayout.NORTH); JPanel contentPanel=new JPanel(); contentPanel.setBackground(Color.yellow); add(contentPanel,BorderLayout.CENTER); JPanel operatePanel=new JPanel(); operatePanel.setBackground(Color.red); operatePanel.setSize(600, 90); add(operatePanel,BorderLayout.SOUTH); } @Override public void actionPerformed(ActionEvent e) { // TODO 自动生成的方法存根 } public void showMenu()// 显示菜单栏 { menuBar = new JMenuBar(); JMenu menu1 = new JMenu("文件"); JMenu menu2 = new JMenu("编辑"); JMenu menu3 = new JMenu("视图"); menuBar.add(menu1); menuBar.add(menu2); menuBar.add(menu3); JMenuItem item1 = new JMenuItem("打开"); JMenuItem item2 = new JMenuItem("保存"); JMenuItem item3 = new JMenuItem("打印"); JMenuItem item4 = new JMenuItem("退出"); menu1.add(item1); menu1.add(item2); menu1.addSeparator(); menu1.add(item3); menu1.addSeparator(); menu1.add(item4); } public void showToolBar()// 显示工具栏 { toolBar=new JToolBar(); JButton start=new JButton("开始对话"); JButton button2=new JButton("选择场景"); JButton button3=new JButton("更换机器头像"); toolBar.add(start); toolBar.add(button2); toolBar.add(button3); } }

JAVA窗口上的计时器有时显示有时不显示

import java.awt.event.WindowEvent; import java.awt.event.WindowListener; import javax.swing.*; import timer.MyThread; public class UserChange extends Super implements WindowListener,Runnable{ JPanel jp; JTextField jtOpw,jtNpw,jtCNpw; JLabel jlOpw,jlNpw,jlCNpw,jtime; JButton jbConfirm,jbBack,jbReset; int time = 60; UserChange(){ this("修改密码界面"); } UserChange(String title){ super(title); jp = new JPanel(); jp.setLayout(null); jtOpw = new JTextField(); jtNpw = new JTextField(); jtCNpw = new JTextField(); jlOpw = new JLabel("原密码:"); jlNpw = new JLabel("新密码:"); jlCNpw = new JLabel("确认新密码:"); jbConfirm = new JButton("确认"); jbBack = new JButton("返回"); jbReset = new JButton("清空"); jtime = new JLabel(); jp.add(jlOpw); jlOpw.setBounds(280, 170, 50, 30); jp.add(jtOpw); jtOpw.setBounds(330, 170, 150, 30); jp.add(jlNpw); jlNpw.setBounds(280, 230, 50, 30); jp.add(jtNpw); jtNpw.setBounds(330, 230, 150, 30); jp.add(jlCNpw); jlCNpw.setBounds(255, 290, 70,30); jp.add(jtCNpw); jtCNpw.setBounds(330, 290, 150,30); jp.add(jbReset); jbReset.setBounds(650,200,80,30); jp.add(jbBack); jbBack.setBounds(650,300,80,30); jp.add(jbConfirm); jbConfirm.setBounds(650,400,80,30); jp.add(jtime); jtime.setBounds(255, 50, 100, 30); jp.setOpaque(false); cp.add(jp); this.addWindowListener(new WindowListener() { public void windowOpened(WindowEvent e) { new Thread(new MyThread()).start(); } @Override public void windowActivated(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowClosed(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowDeactivated(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowDeiconified(WindowEvent e) { // TODO Auto-generated method stub } @Override public void windowIconified(WindowEvent e) { // TODO Auto-generated method stub }}); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } class MyThread implements Runnable { public void run() { while (time > 0) { time--; jtime.setText("Remains"+time); try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } } UserChange.this.dispose(); } } public void run() { while (time > 0) { time--; jtime.setText(time + ""); try { Thread.sleep(1000); } catch (Exception e) { e.printStackTrace(); } } UserChange.this.dispose(); } public static void main(String[] args) { // TODO Auto-generated method stub new UserChange(); } }

eclipse运行swing和生成的jar运行效果不同,jar运行时背景不能显示

我swing了一个登陆界面,但是生成jar文件运行后,背景不能显示(功能正常)。 ``` public class Login extends JFrame { JPanel contentPane; JPasswordField passwordField; public static void main(String[] args) { Login frame = new Login(); } public Login() { setResizable(false); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(600, 300, 600, 400); contentPane = new JPanel(); contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); contentPane.setLayout(null); //组件 JLabel label1 = new JLabel("\u6B22\u8FCE\u767B\u9646\u7A3B\u7530\u7EFC\u5408\u79CD\u517B\u4FE1\u606F\u670D\u52A1\u7CFB\u7EDF"); label1.setForeground(Color.BLACK); label1.setFont(new Font("微软雅黑", Font.BOLD, 30)); label1.setHorizontalAlignment(SwingConstants.CENTER); label1.setBounds(34, 51, 511, 53); contentPane.add(label1); JLabel label2 = new JLabel("\u7528\u6237\u540D"); label2.setFont(new Font("宋体", Font.PLAIN, 20)); label2.setForeground(Color.BLACK); label2.setHorizontalAlignment(SwingConstants.CENTER); label2.setBounds(77, 136, 72, 32); contentPane.add(label2); JLabel label3 = new JLabel("\u5BC6\u7801"); label3.setForeground(Color.BLACK); label3.setFont(new Font("宋体", Font.PLAIN, 20)); label3.setHorizontalAlignment(SwingConstants.CENTER); label3.setBounds(77, 208, 72, 32); contentPane.add(label3); setVisible(true); setTitle("登陆"); //登陆界面布局 JButton button1=new JButton("登陆"); button1.setBounds(147, 284, 113, 27); contentPane.add(button1); JTextField textField=new JTextField(); textField.setBounds(177, 140, 302, 24); contentPane.add(textField); textField.setFont(new Font("宋体",Font.PLAIN,20)); textField.setColumns(10); JPasswordField passwordField=new JPasswordField(); passwordField.setBounds(177, 214, 302, 24); passwordField.setFont(new Font("宋体",Font.PLAIN,20)); contentPane.add(passwordField); JButton button2 = new JButton("清除"); button2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { textField.setText(""); passwordField.setText(""); } }); button2.setBounds(330, 284, 113, 27); contentPane.add(button2); //设置背景 ImageIcon imageIcon=new ImageIcon("src/picture/1.jpg"); JLabel label=new JLabel(imageIcon); label.setBounds(0, 0, imageIcon.getIconWidth(), imageIcon.getIconHeight()); getLayeredPane().add(label,new Integer(Integer.MIN_VALUE)); JPanel panel=(JPanel)getContentPane(); panel.setOpaque(false); JPanel panel2=new JPanel(); panel2.setOpaque(false); panel2.setLayout(null); //登陆功能 textField.setText("admin"); passwordField.setText("123"); button1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String str=textField.getText(); char ch[]=passwordField.getPassword(); String pass=new String(ch); /* boolean bool1= str=="admin"; boolean bool2= pass=="123"; System.out.println(bool1); System.out.println(bool2); */ if (str.equals("admin") && pass.equals("123") ){ mainpage p=new mainpage(); dispose(); } else { JOptionPane.showMessageDialog(null, "用户名或密码错误!","登陆失败!",JOptionPane.PLAIN_MESSAGE); } } }); } }net/upload/201904/14/1555247311_358896.jpg) ``` ![图片说明](https://img-ask.csdn.net/upload/201904/14/1555247337_155549.jpg) ![图片说明](https://img-ask.csdn.net/upload/201904/14/1555247348_816294.jpg)

编写一个java代码接受用户输入的账号和密码 给三次机会。但是运行后输入后显示错误。

package www; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class SwingJFrame extends JFrame implements ActionListener{ JLabel jb1=new JLabel("输入帐号:"); JLabel jb2=new JLabel("输入密码:"); JLabel jb3=new JLabel("显示结果"); JButton jbu=new JButton("提交"); JTextField jt=new JTextField(6); JTextField ji=new JTextField(6); private static int i=1,k=3; JPasswordField jp=new JPasswordField(8); SwingJFrame() { super("输入数据面板"); setSize(400,500); setVisible(true); setDefaultCloseOperation(EXIT_ON_CLOSE); setLayout(new FlowLayout()); add(jb1); add(jt); add(jb2); add(jp); add(jbu); add(jb3); add(ji); jp.setEchoChar('*'); jbu.addActionListener(this); validate(); } public void actionPerformed(ActionEvent e) { int b = 1,c; if(jp.getText().equals("1")&&(jt.getText().equals("weidianlun"))==true) ji.setText("密码正确"); else { /*while(i<=4) { if(jp.getText().equals("1")||(jt.getText().equals("weidianlun"))==false) { ji.setText("剩余"+k+"次机会"); k++; if(i==4) { jp.setEditable(false); ji.setEditable(false); } } i++; } */ //c = k - b; //b++; k--; ji.setText("剩余"+k+"次机会"); jbu.addActionListener(this); } } public static void main(String[] args) { // TODO Auto-generated method stub new SwingJFrame(); } }

界面时而显示不了或组件显示不全,不知是什么问题,请帮忙看下代码吧

package com.wangyj.kindergarten.ui.frames; import java.awt.BorderLayout; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.HeadlessException; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JPasswordField; import javax.swing.JSeparator; import javax.swing.JTextField; import com.wangyj.kindergarten.business.AdminBusiness; import com.wangyj.kindergarten.business.impl.AdminBusinessImpl; public class LoginFrame extends JFrame { private AdminBusiness adminBiz=new AdminBusinessImpl(); private JPanel northPanel = new JPanel(); private JPanel centerPanel = new JPanel(); private JPanel southPanel=new JPanel(); private JLabel imageLabel=new JLabel(); private JTextField adminNameText=new JTextField(); private JPasswordField adminPwd=new JPasswordField(); private JButton loginButton=new JButton(); public LoginFrame() throws HeadlessException { this.init(); } private void init(){ this.setVisible(true); this.setSize(350, 280); this.setResizable(false); this.setTitle("幼儿园管理系统"); this.setLayout(new BorderLayout()); this.setIconImage(new ImageIcon("images/8.jpg").getImage()); int width=(int)Toolkit.getDefaultToolkit().getScreenSize().getWidth()/2; int height=(int)Toolkit.getDefaultToolkit().getScreenSize().getHeight()/2; setLocation(width-getWidth()/2,height-getHeight()/2); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.add(northPanel,BorderLayout.NORTH); this.add(centerPanel,BorderLayout.CENTER); this.add(southPanel,BorderLayout.SOUTH); JPanel panel1=new JPanel(new BorderLayout()); // JPanel panel2=new JPanel(new BorderLayout()); JPanel panel2=new JPanel(new GridLayout(1,3,3,0)); JPanel panel3=new JPanel(new BorderLayout()); // panel1.setBorder(BorderFactory.createEtchedBorder()); northPanel.add(panel1); centerPanel.add(panel2); southPanel.add(panel3); /********************************************************************************/ JPanel inner1=new JPanel(new GridLayout(1,1)); imageLabel.setIcon(new ImageIcon("images/7.jpg")); inner1.add(imageLabel); panel1.add(new JSeparator(),BorderLayout.NORTH); panel1.add(inner1,BorderLayout.CENTER); panel1.add(new JSeparator(),BorderLayout.SOUTH); /********************************************************************************/ JLabel adminNameLabel=new JLabel("管理员帐号:"); JLabel adminPwdLabel=new JLabel("管理员密码:"); JPanel inner2=new JPanel(new GridLayout(2,1,0,12)); JPanel inner2_1=new JPanel(new FlowLayout(FlowLayout.RIGHT)); JPanel inner2_2=new JPanel(new FlowLayout(FlowLayout.RIGHT)); inner2_1.add(adminNameLabel); inner2_2.add(adminPwdLabel); inner2.add(inner2_1); inner2.add(inner2_2); panel2.add(inner2); JPanel inner3=new JPanel(new GridLayout(2,1,0,12)); adminNameText.setText("请输入帐号名..."); adminNameText.setColumns(15); adminPwd.setColumns(15); inner3.add(adminNameText); inner3.add(adminPwd); panel2.add(inner3); JPanel inner4=new JPanel(new GridLayout(2,1,0,12)); inner4.add(new JLabel("*")); inner4.add(new JLabel("*")); panel2.add(inner4); /********************************************************************************/ JPanel inner5=new JPanel(new GridLayout(1,5)); loginButton.setText("登 录"); // loginButton.setMnemonic(KeyEvent.VK_ENTER); inner5.add(loginButton); inner5.add(new JPanel()); inner5.add(new JPanel()); inner5.add(new JPanel()); inner5.add(new JPanel()); panel3.add(new JSeparator(),BorderLayout.NORTH); panel3.add(inner5,BorderLayout.CENTER); /*******************************************************************************/ adminNameText.addMouseListener(new MouseAdapter(){ @Override public void mousePressed(MouseEvent e) { adminNameText.setText(""); } }); loginButton.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { login(); } }); loginButton.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e) { if(e.getKeyChar()==KeyEvent.VK_ENTER){ System.out.println("enter....."); login(); } } }); } private void login(){ String name=adminNameText.getText().trim(); String password=String.valueOf(adminPwd.getPassword()).trim(); if(name.equals("")||name==null||password.equals("")||password==null){ JOptionPane.showMessageDialog(this, "帐号或密码不能为空!"); }else{ boolean success=adminBiz.login(name, password); if(success){ new MainFrame(); this.setVisible(false); }else{ JOptionPane.showMessageDialog(this, "帐号、密码不正确!"); } } } public static void main(String[] args){ new LoginFrame(); } }

在actionPerformed函数外部写了一个函数用作调用可是运行失败了,如上图;但是将这个函数功能写到actionPerformed函数中程序就正常了请问是什么问题

![图片说明](https://img-ask.csdn.net/upload/202004/13/1586788066_706206.png) ``` package my; import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JTextField; public class MyFrame extends JFrame { /** * */ public MyFrame(String title) { super(title); // 内容面板 (ContentPane) Container contentPane = getContentPane(); contentPane.setLayout(new FlowLayout()); JLabel label=new JLabel("hello"); contentPane.add(label); JCheckBox check=new JCheckBox("是否订阅杂志以及订阅杂志的标号"); contentPane.add(check); JTextField txt=new JTextField(16); contentPane.add(txt); check.setSelected(true); check.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if (check.isSelected()) txt.setEnabled(true); else txt.setEnabled(false); } }); } } } ```

我用java写了一个简易计算器的程序,但是有时候结果不正确

就是有时候计算结果后面会显示很多9或者0 ,比如计算8.3-2.1时,请问大神怎么解决啊? 我是菜菜鸟,程序如下: //Calculator.java import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Calculator extends JFrame { private JPanel p1=new JPanel(); private JButton numberButton[]=new JButton[10]; private String buttonName[]={"1","2","3","4","5","6","7","8","9","0"}; private JButton plusButton; private JButton subButton; private JButton mulButton; private JButton divButton; private JButton pointButton; private JButton calButton; private JTextField tf=new JTextField(""); private String add1=""; private String add2=""; private String output=""; private double Result; private boolean Op=false; private boolean OpClicked=false; private int Option=0; public keshihua2(){ super("简易计算器"); getContentPane().setLayout(new BorderLayout()); p1.setLayout(new GridLayout(4,4,10,10)); p1.setBounds(10,10,230,120); for(int i=0;i<10;i++) { numberButton[i]=new JButton(buttonName[i]); numberButton[i].addActionListener(new Number()); p1.add(numberButton[i]); } plusButton=new JButton("+"); plusButton.addActionListener(new Plus()); p1.add(plusButton); subButton=new JButton("-"); subButton.addActionListener(new sub()); p1.add(subButton); mulButton=new JButton("*"); mulButton.addActionListener(new mul()); p1.add(mulButton); divButton=new JButton("/"); divButton.addActionListener(new div()); p1.add(divButton); pointButton=new JButton("."); pointButton.addActionListener(new point()); p1.add(pointButton); calButton=new JButton("="); calButton.addActionListener(new Cal()); p1.add(calButton); getContentPane().add(p1,BorderLayout.CENTER); tf.setBounds(10,150,230,20); tf.setHorizontalAlignment(JTextField.RIGHT); getContentPane().add(tf,BorderLayout.NORTH); validate(); setSize(240,200); setLocation(400,200); setResizable(false); setVisible(true); } class Number implements ActionListener //数字键的监听 { public void actionPerformed(ActionEvent e) { if(!OpClicked) { add1+=e.getActionCommand(); output=""+add1; tf.setText(output); } else { add2+=e.getActionCommand(); output+=e.getActionCommand(); tf.setText(output); } } } class Plus implements ActionListener //加号的监听 { public void actionPerformed(ActionEvent e) { OpClicked=!OpClicked; Op=!Op; Option=1; output+=" + "; tf.setText(output); } } class sub implements ActionListener //减号的监听 { public void actionPerformed(ActionEvent e) { OpClicked=!OpClicked; Op=!Op; Option=2; output+=" - "; tf.setText(output); } } class mul implements ActionListener //乘号的监听 { public void actionPerformed(ActionEvent e) { OpClicked=!OpClicked; Op=!Op; Option=3; output+=" * "; tf.setText(output); } } class div implements ActionListener //除号的监听 { public void actionPerformed(ActionEvent e) { OpClicked=!OpClicked; Op=!Op; Option=4; output+=" / "; tf.setText(output); } } class point implements ActionListener //小数点的监听 { public void actionPerformed(ActionEvent e) { if(!Op){ add1+="."; } else{ add2+="."; output+="."; } } } class Cal implements ActionListener //等号的监听 { public void actionPerformed(ActionEvent e) {switch(Option){ case 1: Result=Double.parseDouble(add1)+Double.parseDouble(add2);break; case 2: Result=Double.parseDouble(add1)-Double.parseDouble(add2);break; case 3: Result=Double.parseDouble(add1)*Double.parseDouble(add2);break; case 4: Result=Double.parseDouble(add1)/Double.parseDouble(add2);break; default:Option=0;} output+=" = "; tf.setText(output+Double.toString(Result)); OpClicked=false; Op=false; add1=""; add2=""; } } public static void main(String args[]) { keshihua2 calculator=new keshihua2(); calculator.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

做一个图形界面可以出题判断对错我将题目和答案写了方法返回字符串数组但是评分的监听器接收不到相应数据?

package suanShu; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JFrame; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JTextField; import java.util.Random; public class tuxing { public static void main(String[] args) { // TODO 自动生成的方法存根 JFrame frame=new JFrame("初级计算");//窗体名称 JButton chuti=new JButton("出题");//出题按钮 JButton pingfen=new JButton("评分");//评分按钮 JLabel ques=new JLabel("请按出题按钮");//问题标签 JLabel xinxi=new JLabel("评分信息"); JTextField useranswer=new JTextField(10);//用户答案 String str[]=new String[2]; chuti.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ if(arg0.getSource()==chuti){//出题按钮事件监听 str=shuiji(); //str错误提示Local variable str defined in an enclosing scope must be final or effectively final ques.setText(str[0]); System.out.println(str[0]); System.out.println(str[1]); } } }); pingfen.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent arg0){ if(arg0.getSource()==pingfen){ if(useranswer.getText().equals("")){ xinxi.setText("答案不能为空!"); } System.out.println(str[1]); if(str[1].equals(useranswer.getText())){ xinxi.setText("答案正确"); }else{ xinxi.setText("答案错误"); } } } }); ques.setBounds(40, 10, 100, 20); useranswer.setBounds(130, 10, 80,20); chuti.setBounds(40,40,60,20); pingfen.setBounds(130, 40, 60, 20); xinxi.setBounds(40,70,120,20); frame.setLayout(null);//布局管理 frame.add(useranswer); frame.add(ques); frame.add(pingfen); frame.add(chuti);//添加组件 frame.add(xinxi); frame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent arg0){ System.exit(1); } }); frame.setSize(250, 150);//设置属性 frame.setLocation(500,300); frame.setVisible(true); } public static String[] shuiji(){ Random r=new Random(); int a=0; int b=0; int d=0; String str[]=new String[2]; a=r.nextInt(10); b=r.nextInt(10); d=r.nextInt(4); if(d==0){ str[0]=a+" + "+b+" = "; int sum=a+b; str[1]=String.valueOf(sum); return str; } else if(d==1){ do{ a=r.nextInt(10); b=r.nextInt(10); }while(a-b<0); str[0]=a+" - "+b+" = "; int sum=a-b; str[1]=String.valueOf(sum); return str; } else if(d==2){ str[0]=a+" * "+b+" = "; int sum=a*b; str[1]=String.valueOf(sum); return str; } else if(d==3){ if(b==0){ do{ b=r.nextInt(10); }while(b==0); str[0]=a+" / "+b+" = "; int sum=a/b; str[1]=String.valueOf(sum); return str; }else{ str[0]=a+" / "+b+" = "; int sum=a/b; str[1]=String.valueOf(sum); return str; } } return null; } }

用java写的一个日历程序,因为答辩急着用,有没有大佬帮忙注释一下每个模块的作用!!!

``` package Calendar; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Calendar; import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.border.Border; import javax.swing.border.EtchedBorder; import javax.swing.*; //图形用户界面设计 public class Calendarshowing { static Calendar c = Calendar.getInstance(); static int year = c.get(Calendar.YEAR), month = c.get(Calendar.MONTH)+1,monthday = 0; static String[] weekdaystr = { "日", "一", "二", "三", "四", "五", "六" };//设置星期日.一.二.三.四.五.六 JFrame frame = new JFrame("日历表"); // JPanel panel = new JPanel(); static JLabel[]dayLabel = new JLabel[49];//是7行7列的GridLayout布局,pCenter的中放置49个标签,用来显示日历 static JPanel showPanel; //放置两个按钮:nextMonth和previousMonth按钮,单击nextMonth(下一月),可以显示当前月的下一个月的日历;单击previousMonth(上一月)按钮,可以显示当前月的上一个月的日历 JButton Prebutton = new JButton("上一月");//查看上一月的特定按钮 JButton Nextbutton = new JButton("下一月");//查看下一月的特定按钮 JButton Cbutton = new JButton("查询( 请输入正确的年和月 )");//查询的特定按钮 JLabel showLabel = new JLabel(); JLabel YearLabel=new JLabel("年");//查询中输入年的特定按钮 JLabel MonthLabel=new JLabel("月");//查询中输入月的特定按钮 JTextArea YearText=new JTextArea("2017");//查询中输入年的初始值 JTextArea MonthText=new JTextArea("4");//查询中输入月的初始值 static Border Border01 = BorderFactory.createLineBorder(Color.BLUE, 1); public Calendarshowing() { //frame.setResizable(false); showPanel = new JPanel(); frame.setBounds(400, 200, 500, 400);//窗体所在位置、大小 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Container content = frame.getContentPane(); final JPanel buttonPanel = new JPanel(); buttonPanel.setLayout(new FlowLayout()); Cbutton.addActionListener(new PressButton()); Prebutton.addActionListener(new PressButton()); Nextbutton.addActionListener(new PressButton()); buttonPanel.add(Prebutton); buttonPanel.add(Nextbutton); buttonPanel.add(YearText); buttonPanel.add(YearLabel); buttonPanel.add(MonthText); buttonPanel.add(MonthLabel); buttonPanel.add(Cbutton); content.add(buttonPanel, BorderLayout.NORTH); final GridLayout gridLayout = new GridLayout(0, 7); gridLayout.setHgap(10); gridLayout.setVgap(10); showPanel.setLayout(gridLayout); showLabel.setHorizontalAlignment(JLabel.CENTER); showLabel.setText("<html><Font size = '6',color = 'RED'>"+"日历: "+"<html><Font size='4',color='Green'>"+year+"年"+month+"月"+"</Font></html>"); showLabel.setToolTipText("今天是公元"+c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+c.get(Calendar.DATE)+"日"); content.add(showLabel,BorderLayout.SOUTH); content.add(showPanel, BorderLayout.CENTER); frame.setVisible(true); } public class PressButton implements ActionListener { @Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub JButton button = (JButton)e.getSource(); if (button == Prebutton) { month--; if (month <= 0){ year--; month+=12; } } else{ if(button == Nextbutton){ month++; if (month > 12){ year++; month-=12; } } else{ // System.out.println(Double.valueOf(CText.getText())); // System.out.println(c.get(Calendar.YEAR)); while(Double.valueOf(YearText.getText())*12+Double.valueOf(MonthText.getText())<year*12+month){ month--; if (month <= 0){ year--; month+=12; } } while(Double.valueOf(YearText.getText())*12+Double.valueOf(MonthText.getText())>year*12+month){ month++; if (month >12){ year++; month-=12; } } } } showPanel.removeAll(); showPanel.updateUI(); new showing(); showLabel.setHorizontalAlignment(JLabel.CENTER); showLabel.setText("<html><Font size = '6',color = 'RED'>"+"日历: "+"<html><Font size='4',color='Green'>"+year+"年"+month+"月"+"</Font></html>"); showLabel.setToolTipText("今天是公元"+c.get(Calendar.YEAR)+"年"+(c.get(Calendar.MONTH)+1)+"月"+c.get(Calendar.DATE)+"日"); } } static class showing{ public boolean isLeapYear(int year1) // 判断该年是否为闰年 { return ((year1 % 4 == 0 && year1 % 100 != 0) || (year1 % 400 == 0)); } public int firstDay() // 用来计算并判断该年第一天是星期几 { long n = year * 365; for (int i = 1; i < year; i++){ if (isLeapYear(i)){ n++; } } return (int)n%7; } public void printWeek() // 设置图形界面的表头 { for (int i = 0; i < 7; i++) { dayLabel[i] = new JLabel(weekdaystr[i],JLabel.CENTER); dayLabel[i].setBackground(Color.BLACK); dayLabel[i].setForeground(Color.RED); showPanel.add(dayLabel[i]); } } public int getMonthDay(int m) // 获取每个月的天数 { switch (m) { //月份为1、3、5、7、8、10、12,天数为31; case 1: case 3: case 5: case 7: case 8: case 10: case 12: return 31; //月份为4、6、9、11,天数为30; case 4: case 6: case 9: case 11: return 30; //闰年2月份,天数为29,非闰年,天数为28 case 2: if (isLeapYear(year)) return 29; else return 28; default: return 0; } } public int getDays(){ monthday = 0; for (int i = 1;i<month;i++) monthday+=getMonthDay(i); return (firstDay()+(monthday%7))%7; } public showing(){ int n =1 ; printWeek(); int k = getDays(); int Year = c.get(Calendar.YEAR); int Month = c.get(Calendar.MONTH); Month += 1; int Date = c.get(Calendar.DATE); for (int j = 7;n<=getMonthDay(month);j++){ if (j < k+7){ dayLabel[j] = new JLabel(); showPanel.add(dayLabel[j]); } else{ dayLabel[j] = new JLabel(""+n,JLabel.CENTER); dayLabel[j].setToolTipText("星期"+weekdaystr[(j)%7]); if (Year == year&&Month==month&&Date == n){ dayLabel[j].setText("<html><Font size = '6',color = 'BLUE'>"+n+"</Font></html>"); dayLabel[(Date-1)%7].setForeground(Color.BLUE); } showPanel.add(dayLabel[j]); n++; } } showPanel.setBorder(Border01); } } public static void main(String[] args) { Calendarshowing c = new Calendarshowing(); showing s = new Calendarshowing.showing(); } } ```

java 简易c/s通信问题

![图片说明](https://img-ask.csdn.net/upload/201906/04/1559658149_625629.png) ![图片说明](https://img-ask.csdn.net/upload/201906/04/1559658156_870150.png) 问题1:程序打开原样是图1的样子,什么都不显示,只有把程序最大化,然后最小化才恢复正常,请问是什么原样 问题2:BufferedReader缓冲区和BufferedWriter缓冲区的readLine()方法是阻塞方法?如果发送端没有发送结束标记,接收端是不是就一直停在readLine方法 问题3: Client 类用来从文本框里读取字符串传输,文本区域没有作用 Server 类用来接收Client发送的数据,界面都是一样的,只接收没有发送功能 ``` class WindowByClient extends JFrame implements ActionListener{ JButton send; JTextField text; JTextArea area; Socket client; BufferedWriter out; WindowByClient(){ super("发送程序"); this.setLayout(new FlowLayout()); this.setSize(300,300); this.setLocationRelativeTo(null); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); init(); } void init(){ send = new JButton("发送"); text=new JTextField(10); area=new JTextArea(9,16); JScrollPane jsp=new JScrollPane(area); area.setEditable(false); this.add(send); this.add(text); this.add(jsp); try { client=new Socket("127.0.0.1",9999); out=new BufferedWriter(new OutputStreamWriter(client.getOutputStream())); } catch (IOException e) {} send.addActionListener(this); } void sendMethod(){ try { out.write(text.getText()); out.flush(); } catch (IOException e) {} } public void actionPerformed(ActionEvent arg) { if(arg.getSource()==send){ sendMethod(); } } } public class Client { public static void main(String[] args) { new WindowByClient(); } } ``` ``` class WindowByServer extends JFrame{ JButton send; JTextField text; JTextArea area; ServerSocket server; Socket s; BufferedReader in; WindowByServer(){ super("发送程序"); this.setLayout(new FlowLayout()); this.setSize(300,300); this.setLocationRelativeTo(null); this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); init(); } void init(){ send = new JButton("发送"); text=new JTextField(10); area=new JTextArea(9,16); JScrollPane jsp=new JScrollPane(area); area.setEditable(false); this.add(send); this.add(text); this.add(jsp); try { server=new ServerSocket(); s=server.accept(); in=new BufferedReader(new InputStreamReader(s.getInputStream())); } catch (IOException e) {} receiveMethod(); } void receiveMethod(){ String str=null; try { while(true){ while((str=in.readLine())!=null){ if(!str.equals(null)){ area.append(str); } } } } catch (IOException e) {} } } public class Server { public static void main(String[] args) { new WindowByServer(); } } ``` ``` Exception in thread "main" java.lang.NullPointerException at Demo_1.WindowByServer.receiveMethod(Server.java:58) at Demo_1.WindowByServer.init(Server.java:52) at Demo_1.WindowByServer.<init>(Server.java:32) at Demo_1.Server.main(Server.java:69) ``` 请问 while((str=in.readLine())!=null) 这句话为什么会报错

【学生一枚,请大神指教】关于Java中组件及事件处理,希望哪位大神可以帮看代码,提出建议

题目描述: ![图片说明](https://img-ask.csdn.net/upload/201704/13/1492090575_763617.jpg) 编写一个算术测试小软件,程序由3个类组成,其中Teacher类对象负责给出加减算术运算题目,并判断回答者的答案是否正确;ComputerFrame类对象负责为算术题目提供视图,例如用户可以通过ComputerFrame类对象提供的GUI界面看到题目,并通过该GUI界面输入答案;MailClasss是软件的主类。 小白一枚,初学Java,上面是一道简单的题,虽然可以实现出来,但是不知道这样写是否可以。如果作为一个Java工程师,您对下面的代码会有什么建议,小白想着一开始便形成一种良好的写代码方式或者思维模式,希望各位大神可以批评建议一下,在这里给各位路过的大神提前拜个早年了,祝您新年快乐!! @+_+@ 代码如下: ComputerFrame类: import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.*; public class ComputerFrame extends JFrame{ public static JLabel label; JMenuBar bar; JMenu menu; JButton button1,button2; JTextField text1,text2,text3; public ComputerFrame(){ init(); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void init(){ setLayout(new FlowLayout()); //setTitle("算术测试");凭什么布局不用对象.设置,title却用 bar=new JMenuBar(); menu=new JMenu("选择级别"); button1=new JButton("获取题目"); button2=new JButton("确认答案"); text1=new JTextField(5); text2=new JTextField(5); text3=new JTextField(5); menu.add(new JMenuItem("小学生级别")); bar.add(menu); add(bar); setJMenuBar(bar); add(button1); add(text1); add(new JLabel("+")); add(text2); add(new JLabel("=")); add(text3); add(button2); label=new JLabel("啥也没有"); add(label); } public void setListener(Teacher listener){ listener.setText1(text1); listener.setText2(text2); listener.setText3(text3); listener.setButton1(button1); listener.setButton2(button2); button1.addActionListener(listener); button2.addActionListener(listener); //add(label); } } Teacher类 import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.util.*; public class Teacher implements ActionListener{ JButton button1,button2; JTextField text1,text2,text3; int r1,r2; //JLabel label; public void setText1(JTextField text1){ this.text1=text1; } public void setText2(JTextField text2){ this.text2=text2; } public void setText3(JTextField text3){ this.text3=text3; } public void setButton1(JButton button1){ this.button1=button1; } public void setButton2(JButton button2){ this.button2=button2; } /*public void setJLabel(JLabel label){ this.label=label; } public JLabel getJLabel(){ return label; }*/ public void actionPerformed(ActionEvent e){ if(e.getSource()==button1){ Random random=new Random(); r1=random.nextInt(100); r2=random.nextInt(100); text1.setText(Integer.toString(r1)); text2.setText(Integer.toString(r2)); } if(e.getSource()==button2){ if(Integer.parseInt(text3.getText())==(r1+r2)){ ComputerFrame.label.setText("回答正确"); } else ComputerFrame.label.setText("回答错误"); } } } MailClass类: public class MailClass { public static void main(String args[]){ ComputerFrame win=new ComputerFrame(); win.setTitle("算术测试"); win.setBounds(100,100,460,310); Teacher listener=new Teacher(); win.setListener(listener); } }

我根据网上的代码编写了点东西,为什么无法正确执行?

package com.excel; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.text.DecimalFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.List; import javax.swing.JTextArea; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; /** * 解析Excel的类 */ public class ExcelOperate { private JTextArea area; private String fileName; /** * 构造方法传值 * * @param area * 显示Excel内容的位置 * @param fileName * Excel文件名 */ public ExcelOperate(JTextArea area, String fileName) { this.area = area; this.fileName = fileName; } /** * 解析Excel文件 */ public void parseExcel() { File file = new File(fileName); String[][] result = null; try { result = getData(file, 1); } catch (IOException e) { e.printStackTrace(); } int rowLength = result.length; for (int i = 0; i < rowLength; i++) { for (int j = 0; j < result[i].length; j++) { area.append(result[i][j] + "\t\t"); } area.append("\n"); } } /** * 读取Excel的内容,第一维数组存储的是一行中格列的值,二维数组存储的是多少个行 * * @param file * 读取数据的源Excel * @param ignoreRows * 读取数据忽略的行数,比喻行头不需要读入 忽略的行数为1 * @return 读出的Excel中数据的内容 * @throws FileNotFoundException * @throws IOException */ public static String[][] getData(File file, int ignoreRows) throws FileNotFoundException, IOException { List<String[]> result = new ArrayList<String[]>(); int rowSize = 0; BufferedInputStream in = new BufferedInputStream(new FileInputStream( file)); // 打开HSSFWorkbook POIFSFileSystem fs = new POIFSFileSystem(in); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFCell cell = null; for (int sheetIndex = 0; sheetIndex < wb.getNumberOfSheets(); sheetIndex++) { HSSFSheet st = wb.getSheetAt(sheetIndex); // 第一行为标题,不取 for (int rowIndex = ignoreRows; rowIndex <= st.getLastRowNum(); rowIndex++) { HSSFRow row = st.getRow(rowIndex); if (row == null) { continue; } int tempRowSize = row.getLastCellNum() + 1; if (tempRowSize > rowSize) { rowSize = tempRowSize; } String[] values = new String[rowSize]; Arrays.fill(values, ""); boolean hasValue = false; for (short columnIndex = 0; columnIndex <= row.getLastCellNum(); columnIndex++) { String value = ""; cell = row.getCell(columnIndex); if (cell != null) { switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_STRING: value = cell.getStringCellValue(); break; case HSSFCell.CELL_TYPE_NUMERIC: if (HSSFDateUtil.isCellDateFormatted(cell)) { Date date = cell.getDateCellValue(); if (date != null) { value = new SimpleDateFormat("yyyy-MM-dd") .format(date); } else { value = ""; } } else { value = new DecimalFormat("0").format(cell .getNumericCellValue()); } break; case HSSFCell.CELL_TYPE_FORMULA: // 导入时如果为公式生成的数据则无值 if (!cell.getStringCellValue().equals("")) { value = cell.getStringCellValue(); } else { value = cell.getNumericCellValue() + ""; } break; case HSSFCell.CELL_TYPE_BLANK: break; case HSSFCell.CELL_TYPE_ERROR: value = ""; break; case HSSFCell.CELL_TYPE_BOOLEAN: value = (cell.getBooleanCellValue() == true ? "Y" : "N"); break; default: value = ""; } } if (columnIndex == 0 && value.trim().equals("")) { break; } values[columnIndex] = rightTrim(value); hasValue = true; } if (hasValue) { result.add(values); } } } in.close(); String[][] returnArray = new String[result.size()][rowSize]; for (int i = 0; i < returnArray.length; i++) { returnArray[i] = (String[]) result.get(i); } return returnArray; } /** * 去掉字符串右边的空格 * * @param str * 要处理的字符串 * @return 处理后的字符串 */ public static String rightTrim(String str) { if (str == null) { return ""; } int length = str.length(); for (int i = length - 1; i >= 0; i--) { if (str.charAt(i) != 0x20) { break; } length--; } return str.substring(0, length); } } ------------------------------------------------------------------------------------------ package com.excel; import java.awt.BorderLayout; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.UIManager; import javax.swing.filechooser.FileNameExtensionFilter; /** * 主界面,按钮响应事件,文本域输出Excel内容 */ public class OpenExcel extends JFrame implements ActionListener { private JButton button; private JScrollPane pane; private JTextArea area; public OpenExcel() { super("解析Excel"); button = new JButton("点我选择Excel文件"); button.addActionListener(this); area = new JTextArea(); pane = new JScrollPane(area); this.add(button, BorderLayout.NORTH); this.add(pane); this.setSize(300, 300); this.setLocationRelativeTo(null); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } // 按钮事件 public void actionPerformed(ActionEvent e) { JFileChooser chooser = new JFileChooser();// 文件选择对话框 chooser.setAcceptAllFileFilterUsed(false);// 取消所有文件过滤项 chooser.setFileFilter(new FileNameExtensionFilter("Excel文件", "xls"));// 设置只过滤扩展名为.xls的Excel文件 int i = chooser.showOpenDialog(this);// 打开窗口 if (i == JFileChooser.APPROVE_OPTION) { this.setLocation(0, 0); this.setSize(Toolkit.getDefaultToolkit().getScreenSize()); new ExcelOperate(area, chooser.getSelectedFile().getAbsolutePath()) .parseExcel(); } } public static void main(String[] args) throws Exception { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); new OpenExcel(); } }大神帮忙看一下,excel数据导入不进去怎么回事?![图片](https://img-ask.csdn.net/upload/201706/01/1496326764_634674.jpg)

linux下利用/proc进行进程树的打印

在linux下利用c语言实现的进程树的打印,主要通过/proc下的目录中的进程文件,获取status中的进程信息内容,然后利用递归实现进程树的打印

设计模式(JAVA语言实现)--20种设计模式附带源码

课程亮点: 课程培训详细的笔记以及实例代码,让学员开始掌握设计模式知识点 课程内容: 工厂模式、桥接模式、组合模式、装饰器模式、外观模式、享元模式、原型模型、代理模式、单例模式、适配器模式 策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式 课程特色: 笔记设计模式,用笔记串连所有知识点,让学员从一点一滴积累,学习过程无压力 笔记标题采用关键字标识法,帮助学员更加容易记住知识点 笔记以超链接形式让知识点关联起来,形式知识体系 采用先概念后实例再应用方式,知识点深入浅出 提供授课内容笔记作为课后复习以及工作备查工具 部分图表(电脑PC端查看):

Python数据分析与挖掘

92讲视频课+16大项目实战+源码+¥800元课程礼包+讲师社群1V1答疑+社群闭门分享会=99元 &nbsp; 为什么学习数据分析? &nbsp; &nbsp; &nbsp; 人工智能、大数据时代有什么技能是可以运用在各种行业的?数据分析就是。 &nbsp; &nbsp; &nbsp; 从海量数据中获得别人看不见的信息,创业者可以通过数据分析来优化产品,营销人员可以通过数据分析改进营销策略,产品经理可以通过数据分析洞察用户习惯,金融从业者可以通过数据分析规避投资风险,程序员可以通过数据分析进一步挖掘出数据价值,它和编程一样,本质上也是一个工具,通过数据来对现实事物进行分析和识别的能力。不管你从事什么行业,掌握了数据分析能力,往往在其岗位上更有竞争力。 &nbsp;&nbsp; 本课程共包含五大模块: 一、先导篇: 通过分析数据分析师的一天,让学员了解全面了解成为一个数据分析师的所有必修功法,对数据分析师不在迷惑。 &nbsp; 二、基础篇: 围绕Python基础语法介绍、数据预处理、数据可视化以及数据分析与挖掘......这些核心技能模块展开,帮助你快速而全面的掌握和了解成为一个数据分析师的所有必修功法。 &nbsp; 三、数据采集篇: 通过网络爬虫实战解决数据分析的必经之路:数据从何来的问题,讲解常见的爬虫套路并利用三大实战帮助学员扎实数据采集能力,避免没有数据可分析的尴尬。 &nbsp; 四、分析工具篇: 讲解数据分析避不开的科学计算库Numpy、数据分析工具Pandas及常见可视化工具Matplotlib。 &nbsp; 五、算法篇: 算法是数据分析的精华,课程精选10大算法,包括分类、聚类、预测3大类型,每个算法都从原理和案例两个角度学习,让你不仅能用起来,了解原理,还能知道为什么这么做。

广工操作系统课程设计(文档+代码+可执行文件)

实现作业调度(先来先服务)、进程调度功能(时间片轮转) 实现内存管理功能(连续分配)。 实现文件系统功能(选作) 这些功能要有机地连接起来

Only老K说-爬取妹子图片(简单入门)

安装第三方请求库 requests 被网站禁止了访问 原因是我们是Python过来的 重新给一段 可能还是存在用不了,使用网页的 编写代码 上面注意看匹配内容 User-Agent:请求对象 AppleWebKit:请求内核 Chrome浏览器 //请求网页 import requests import re //正则表达式 就是去不规则的网页里面提取有规律的信息 headers = { 'User-Agent':'存放浏览器里面的' } response = requests.get

linux“开发工具三剑客”速成攻略

工欲善其事,必先利其器。Vim+Git+Makefile是Linux环境下嵌入式开发常用的工具。本专题主要面向初次接触Linux的新手,熟练掌握工作中常用的工具,在以后的学习和工作中提高效率。

Python代码实现飞机大战

文章目录经典飞机大战一.游戏设定二.我方飞机三.敌方飞机四.发射子弹五.发放补给包六.主模块 经典飞机大战 源代码以及素材资料(图片,音频)可从下面的github中下载: 飞机大战源代码以及素材资料github项目地址链接 ————————————————————————————————————————————————————————— 不知道大家有没有打过飞机,喜不喜欢打飞机。当我第一次接触这个东西的时候,我的内心是被震撼到的。第一次接触打飞机的时候作者本人是身心愉悦的,因为周边的朋友都在打飞机, 每

Python数据清洗实战入门

本次课程主要以真实的电商数据为基础,通过Python详细的介绍了数据分析中的数据清洗阶段各种技巧和方法。

2019 Python开发者日-培训

本次活动将秉承“只讲技术,拒绝空谈”的理念,邀请十余位身处一线的Python技术专家,重点围绕Web开发、自动化运维、数据分析、人工智能等技术模块,分享真实生产环境中使用Python应对IT挑战的真知灼见。此外,针对不同层次的开发者,大会还安排了深度培训实操环节,为开发者们带来更多深度实战的机会。

apache-jmeter-5.1.1(Requires Java 8+).zip

。Apache JMeter 5.1.1 (Requires Java 8+),需要jdk8以上的版本。

数通HCNP中文理论全套教材.rar

内涵HCNP-IENP中文理论书-内文,

Python可以这样学(第四季:数据分析与科学计算可视化)

董付国老师系列教材《Python程序设计(第2版)》(ISBN:9787302436515)、《Python可以这样学》(ISBN:9787302456469)配套视频,在教材基础上又增加了大量内容,通过实例讲解numpy、scipy、pandas、statistics、matplotlib等标准库和扩展库用法。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我对Mysql事务很熟,直到我遇到了阿里面试官

太惨了,面试又被吊打

2019 AI开发者大会

2019 AI开发者大会(AI ProCon 2019)是由中国IT社区CSDN主办的AI技术与产业年度盛会。多年经验淬炼,如今蓄势待发:2019年9月6-7日,大会将有近百位中美顶尖AI专家、知名企业代表以及千余名AI开发者齐聚北京,进行技术解读和产业论证。我们不空谈口号,只谈技术,诚挚邀请AI业内人士一起共铸人工智能新篇章!

图书管理系统(Java + Mysql)我的第一个完全自己做的实训项目

图书管理系统 Java + MySQL 完整实训代码,MVC三层架构组织,包含所有用到的图片资源以及数据库文件,大三上学期实训,注释很详细,按照阿里巴巴Java编程规范编写

Python数据挖掘简易入门

&nbsp; &nbsp; &nbsp; &nbsp; 本课程为Python数据挖掘方向的入门课程,课程主要以真实数据为基础,详细介绍数据挖掘入门的流程和使用Python实现pandas与numpy在数据挖掘方向的运用,并深入学习如何运用scikit-learn调用常用的数据挖掘算法解决数据挖掘问题,为进一步深入学习数据挖掘打下扎实的基础。

C/C++学习指南全套教程

C/C++学习的全套教程,从基本语法,基本原理,到界面开发、网络开发、Linux开发、安全算法,应用尽用。由毕业于清华大学的业内人士执课,为C/C++编程爱好者的教程。

微信公众平台开发入门

本套课程的设计完全是为初学者量身打造,课程内容由浅入深,课程讲解通俗易懂,代码实现简洁清晰。通过本课程的学习,学员能够入门微信公众平台开发,能够胜任企业级的订阅号、服务号、企业号的应用开发工作。 通过本课程的学习,学员能够对微信公众平台有一个清晰的、系统性的认识。例如,公众号是什么,它有什么特点,它能做什么,怎么开发公众号。 其次,通过本课程的学习,学员能够掌握微信公众平台开发的方法、技术和应用实现。例如,开发者文档怎么看,开发环境怎么搭建,基本的消息交互如何实现,常用的方法技巧有哪些,真实应用怎么开发。

三个项目玩转深度学习(附1G源码)

从事大数据与人工智能开发与实践约十年,钱老师亲自见证了大数据行业的发展与人工智能的从冷到热。事实证明,计算机技术的发展,算力突破,海量数据,机器人技术等,开启了第四次工业革命的序章。深度学习图像分类一直是人工智能的经典任务,是智慧零售、安防、无人驾驶等机器视觉应用领域的核心技术之一,掌握图像分类技术是机器视觉学习的重中之重。针对现有线上学习的特点与实际需求,我们开发了人工智能案例实战系列课程。打造:以项目案例实践为驱动的课程学习方式,覆盖了智能零售,智慧交通等常见领域,通过基础学习、项目案例实践、社群答疑,三维立体的方式,打造最好的学习效果。

2021考研数学张宇基础30讲.pdf

张宇:博士,全国著名考研数学辅导专家,教育部“国家精品课程建设骨干教师”,全国畅销书《张宇高等数学18讲》《张宇线性代数9讲》《张宇概率论与数理统计9讲》《张宇考研数学题源探析经典1000题》《张宇考

专为程序员设计的数学课

<p> 限时福利限时福利,<span>15000+程序员的选择!</span> </p> <p> 购课后添加学习助手(微信号:csdn590),按提示消息领取编程大礼包!并获取讲师答疑服务! </p> <p> <br> </p> <p> 套餐中一共包含5门程序员必学的数学课程(共47讲) </p> <p> 课程1:《零基础入门微积分》 </p> <p> 课程2:《数理统计与概率论》 </p> <p> 课程3:《代码学习线性代数》 </p> <p> 课程4:《数据处理的最优化》 </p> <p> 课程5:《马尔可夫随机过程》 </p> <p> <br> </p> <p> 哪些人适合学习这门课程? </p> <p> 1)大学生,平时只学习了数学理论,并未接触如何应用数学解决编程问题; </p> <p> 2)对算法、数据结构掌握程度薄弱的人,数学可以让你更好的理解算法、数据结构原理及应用; </p> <p> 3)看不懂大牛代码设计思想的人,因为所有的程序设计底层逻辑都是数学; </p> <p> 4)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; </p> <p> 5)想修炼更好的编程内功,在遇到问题时可以灵活的应用数学思维解决问题。 </p> <p> <br> </p> <p> 在这门「专为程序员设计的数学课」系列课中,我们保证你能收获到这些:<br> <br> <span> </span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">①价值300元编程课程大礼包</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">②应用数学优化代码的实操方法</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">③数学理论在编程实战中的应用</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">④程序员必学的5大数学知识</span> </p> <p class="ql-long-24357476"> <span class="ql-author-24357476">⑤人工智能领域必修数学课</span> </p> <p> <br> 备注:此课程只讲程序员所需要的数学,即使你数学基础薄弱,也能听懂,只需要初中的数学知识就足矣。<br> <br> 如何听课? </p> <p> 1、登录CSDN学院 APP 在我的课程中进行学习; </p> <p> 2、登录CSDN学院官网。 </p> <p> <br> </p> <p> 购课后如何领取免费赠送的编程大礼包和加入答疑群? </p> <p> 购课后,添加助教微信:<span> csdn590</span>,按提示领取编程大礼包,或观看付费视频的第一节内容扫码进群答疑交流! </p> <p> <img src="https://img-bss.csdn.net/201912251155398753.jpg" alt=""> </p>

DDR5_Draft_Spec_Rev05c.pdf

DDR5 spec

Java面试史上最全的JAVA专业术语面试100问 (前1-50)

前言: 说在前面, 面试题是根据一些朋友去面试提供的,再就是从网上整理了一些。 先更新50道,下一波吧后面的也更出来。 求赞求关注!! 废话也不多说,现在就来看看有哪些面试题 1、面向对象的特点有哪些? 抽象、继承、封装、多态。 2、接口和抽象类有什么联系和区别? 3、重载和重写有什么区别? 4、java有哪些基本数据类型? 5、数组有没有length()方法?String有没有length()方法? 数组没有length()方法,它有length属性。 String有length()方法。 集合求长度用

网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】

本课程适合CCNA或HCNA网络小白同志,高手请绕道,可以直接学习进价课程。通过本预科课程的学习,为学习网络工程师、思科CCNA、华为HCNA这些认证打下坚实的基础! 重要!思科认证2020年2月24日起,已启用新版认证和考试,包括题库都会更新,由于疫情原因,请关注官网和本地考点信息。题库网络上很容易下载到。

C/C++跨平台研发从基础到高阶实战系列套餐

一 专题从基础的C语言核心到c++ 和stl完成基础强化; 二 再到数据结构,设计模式完成专业计算机技能强化; 三 通过跨平台网络编程,linux编程,qt界面编程,mfc编程,windows编程,c++与lua联合编程来完成应用强化 四 最后通过基于ffmpeg的音视频播放器,直播推流,屏幕录像,

Python界面版学生管理系统

前不久上传了一个控制台版本的学生管理系统,这个是Python界面版学生管理系统,这个是使用pycharm开发的一个有界面的学生管理系统,基本的增删改查,里面又演示视频和完整代码,有需要的伙伴可以自行下

2019数学建模A题高压油管的压力控制 省一论文即代码

2019数学建模A题高压油管的压力控制省一完整论文即详细C++和Matlab代码,希望对同学们有所帮助

4小时玩转微信小程序——基础入门与微信支付实战

这是一个门针对零基础学员学习微信小程序开发的视频教学课程。课程采用腾讯官方文档作为教程的唯一技术资料来源。杜绝网络上质量良莠不齐的资料给学员学习带来的障碍。 视频课程按照开发工具的下载、安装、使用、程序结构、视图层、逻辑层、微信小程序等几个部分组织课程,详细讲解整个小程序的开发过程

相关热词 c#设计思想 c#正则表达式 转换 c#form复制 c#写web c# 柱形图 c# wcf 服务库 c#应用程序管理器 c#数组如何赋值给数组 c#序列化应用目的博客园 c# 设置当前标注样式
立即提问