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中窗口关闭事件。

程序代码如下: package com.packageTemp; import java.awt.event.*; import javax.swing.*; import java.awt.*; public class MouseAdapterTest { JFrame f=null; JButton btn=null; public static void main(String[] args) { new MouseAdapterTest(); } //构造函数 public MouseAdapterTest() { f=new JFrame("Test"); btn=new JButton("按钮1"); //添加监听事件 btn.addActionListener(new ActionListener(){ @Override public void actionPerformed(ActionEvent e) { System.out.println("action ok"); } }); btn.addMouseListener(new MouseAdapter(){ int count=1; public void mouseEntered(MouseEvent e){ System.out.println("鼠标进入了按钮区域"+count++); } public void mouseExited(MouseEvent e) { System.out.println("鼠标离开了按钮区域"+count++); } }); f.add(btn); f.setBounds(100, 200, 500, 400); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 此行是重点 f.setVisible(true); } } 如代码所示:如果我写上f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); ,则点击右上角的X时,可以关闭窗口,并且程序停止运行。 但是我好奇的是,为什么我没有写窗体监听事件,即WindowListener,为什么点击X,图形化界面依旧可以X掉。 求大神指点

我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 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 窗口为什么不显示里面的内容

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(); } # }运行的结果是一个空的框框,但是鼠标点击一下边框,里面的内容才能正常显示,是怎么回事,代码的问题吗 ``` ```

界面显示。是。对的,输入点计算只能显示无法计算,一个类我文本输入的

package java考试第3题;import javax.swing.*;import java.awt.event.*;public class 界面设计 extends JFrame implements ActionListener{ JPanel jp; JTextField jtf1,jtf2; JButton jb; JTextArea jta; 设置圆柱体 m; public 界面设计(){ this.setTitle("计算圆柱体体积"); this.setBounds(100,100,400,200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jp=new JPanel(); jp.add(new JLabel("底面半径:")); jtf1=new JTextField(5); jp.add(jtf1); jp.add(new JLabel("高:")); jtf2=new JTextField(5); jp.add(jtf2); jb=new JButton("计算体积"); jb.addActionListener(this); jp.add(jb); this.getContentPane().add(jp,"South"); jta=new JTextArea(5,20); this.getContentPane().add(jta); this.setVisible(true); } public void actionPerformed(ActionEvent e){ try { int r=Integer.parseInt(jtf1.getText()); int h=Integer.parseInt(jtf2.getText()); m.setR(r); m.setH(h); //double rescult=r*r*3.14*h; jta.append( "圆柱体的底面半径是:"+r+"圆柱体的高是:"+h+"\n"+ "圆柱体的体积是:"+m.getv()/*recult*/+"\n"); } catch(Exception ex){ jta.append("无法计算体积!"+"\n"); } }}![图片](https://img-ask.csdn.net/upload/201710/28/1509203998_240045.png)![图片](https://img-ask.csdn.net/upload/201710/28/1509204062_506981.png)

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(); } }

我用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); } }

在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); } }); } } } ```

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

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); } }

MySQL 8.0.19安装教程(windows 64位)

话不多说直接开干 目录 1-先去官网下载点击的MySQL的下载​ 2-配置初始化的my.ini文件的文件 3-初始化MySQL 4-安装MySQL服务 + 启动MySQL 服务 5-连接MySQL + 修改密码 先去官网下载点击的MySQL的下载 下载完成后解压 解压完是这个样子 配置初始化的my.ini文件的文件 ...

Python+OpenCV计算机视觉

Python+OpenCV计算机视觉系统全面的介绍。

Vue.js 2.0之全家桶系列视频课程

基于新的Vue.js 2.3版本, 目前新全的Vue.js教学视频,让你少走弯路,直达技术前沿! 1. 包含Vue.js全家桶(vue.js、vue-router、axios、vuex、vue-cli、webpack、ElementUI等) 2. 采用笔记+代码案例的形式讲解,通俗易懂

navicat(内含激活码)

navicat支持mysql的可视化操作,内涵激活码,不用再忍受弹框的痛苦。

HTML期末大作业

这是我自己做的HTML期末大作业,花了很多时间,稍加修改就可以作为自己的作业了,而且也可以作为学习参考

150讲轻松搞定Python网络爬虫

【为什么学爬虫?】 &nbsp; &nbsp; &nbsp; &nbsp;1、爬虫入手容易,但是深入较难,如何写出高效率的爬虫,如何写出灵活性高可扩展的爬虫都是一项技术活。另外在爬虫过程中,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要的数据,这门课程,你都能学到! &nbsp; &nbsp; &nbsp; &nbsp;2、如果是作为一个其他行业的开发者,比如app开发,web开发,学习爬虫能让你加强对技术的认知,能够开发出更加安全的软件和网站 【课程设计】 一个完整的爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: 网络请求:模拟浏览器的行为从网上抓取数据。 数据解析:将请求下来的数据进行过滤,提取我们想要的数据。 数据存储:将提取到的数据存储到硬盘或者内存中。比如用mysql数据库或者redis等。 那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性,分别是: 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 通过爬虫进阶的知识点我们能应付大量的反爬网站,而Scrapy框架作为一个专业的爬虫框架,使用他可以快速提高我们编写爬虫程序的效率和速度。另外如果一台机器不能满足你的需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 &nbsp; 从基础爬虫到商业化应用爬虫,本套课程满足您的所有需求! 【课程服务】 专属付费社群+每周三讨论会+1v1答疑

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

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

基于STM32的电子时钟设计

时钟功能 还有闹钟功能,温湿度功能,整点报时功能 你值得拥有

学生成绩管理系统(PHP + MYSQL)

做的是数据库课程设计,使用的php + MySQL,本来是黄金搭配也就没啥说的,推荐使用wamp服务器,里面有详细的使用说明,带有界面的啊!呵呵 不行的话,可以给我留言!

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

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

程序员的兼职技能课

获取讲师答疑方式: 在付费视频第一节(触摸命令_ALL)片头有二维码及加群流程介绍 限时福利 原价99元,今日仅需39元!购课添加小助手(微信号:itxy41)按提示还可领取价值800元的编程大礼包! 讲师介绍: 苏奕嘉&nbsp;前阿里UC项目工程师 脚本开发平台官方认证满级(六级)开发者。 我将如何教会你通过【定制脚本】赚到你人生的第一桶金? 零基础程序定制脚本开发课程,是完全针对零脚本开发经验的小白而设计,课程内容共分为3大阶段: ①前期将带你掌握Q开发语言和界面交互开发能力; ②中期通过实战来制作有具体需求的定制脚本; ③后期将解锁脚本的更高阶玩法,打通任督二脉; ④应用定制脚本合法赚取额外收入的完整经验分享,带你通过程序定制脚本开发这项副业,赚取到你的第一桶金!

实用主义学Python(小白也容易上手的Python实用案例)

原价169,限时立减100元! 系统掌握Python核心语法16点,轻松应对工作中80%以上的Python使用场景! 69元=72讲+源码+社群答疑+讲师社群分享会&nbsp; 【哪些人适合学习这门课程?】 1)大学生,平时只学习了Python理论,并未接触Python实战问题; 2)对Python实用技能掌握薄弱的人,自动化、爬虫、数据分析能让你快速提高工作效率; 3)想学习新技术,如:人工智能、机器学习、深度学习等,这门课程是你的必修课程; 4)想修炼更好的编程内功,优秀的工程师肯定不能只会一门语言,Python语言功能强大、使用高效、简单易学。 【超实用技能】 从零开始 自动生成工作周报 职场升级 豆瓣电影数据爬取 实用案例 奥运冠军数据分析 自动化办公:通过Python自动化分析Excel数据并自动操作Word文档,最终获得一份基于Excel表格的数据分析报告。 豆瓣电影爬虫:通过Python自动爬取豆瓣电影信息并将电影图片保存到本地。 奥运会数据分析实战 简介:通过Python分析120年间奥运会的数据,从不同角度入手分析,从而得出一些有趣的结论。 【超人气老师】 二两 中国人工智能协会高级会员 生成对抗神经网络研究者 《深入浅出生成对抗网络:原理剖析与TensorFlow实现》一书作者 阿里云大学云学院导师 前大型游戏公司后端工程师 【超丰富实用案例】 0)图片背景去除案例 1)自动生成工作周报案例 2)豆瓣电影数据爬取案例 3)奥运会数据分析案例 4)自动处理邮件案例 5)github信息爬取/更新提醒案例 6)B站百大UP信息爬取与分析案例 7)构建自己的论文网站案例

Java8零基础入门视频教程

这门课程基于主流的java8平台,由浅入深的详细讲解了java SE的开发技术,可以使java方向的入门学员,快速扎实的掌握java开发技术!

Python数据挖掘简易入门

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

零基础学C#编程—C#从小白到大咖

本课程从初学者角度出发,提供了C#从入门到成为程序开发高手所需要掌握的各方面知识和技术。 【课程特点】 1 由浅入深,编排合理; 2 视频讲解,精彩详尽; 3 丰富实例,轻松易学; 4 每章总结配有难点解析文档。 15大章节,228课时,1756分钟与你一同进步!

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

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

多功能数字钟.zip

利用数字电子计数知识设计并制作的数字电子钟(含multisim仿真),该数字钟具有显示星期、24小时制时间、闹铃、整点报时、时间校准功能

极简JAVA学习营第四期(报名以后加助教微信:eduxy-1)

想学好JAVA必须要报两万的培训班吗? Java大神勿入 如果你: 零基础想学JAVA却不知道从何入手 看了一堆书和视频却还是连JAVA的环境都搭建不起来 囊中羞涩面对两万起的JAVA培训班不忍直视 在职没有每天大块的时间专门学习JAVA 那么恭喜你找到组织了,在这里有: 1. 一群志同道合立志学好JAVA的同学一起学习讨论JAVA 2. 灵活机动的学习时间完成特定学习任务+每日编程实战练习 3. 热心助人的助教和讲师及时帮你解决问题,不按时完成作业小心助教老师的家访哦 上一张图看看前辈的感悟: &nbsp; &nbsp; 大家一定迫不及待想知道什么是极简JAVA学习营了吧,下面就来给大家说道说道: 什么是极简JAVA学习营? 1. 针对Java小白或者初级Java学习者; 2. 利用9天时间,每天1个小时时间; 3.通过 每日作业 / 组队PK / 助教答疑 / 实战编程 / 项目答辩 / 社群讨论 / 趣味知识抢答等方式让学员爱上学习编程 , 最终实现能独立开发一个基于控制台的‘库存管理系统’ 的学习模式 极简JAVA学习营是怎么学习的? &nbsp; 如何报名? 只要购买了极简JAVA一:JAVA入门就算报名成功! &nbsp;本期为第四期极简JAVA学习营,我们来看看往期学员的学习状态: 作业看这里~ &nbsp; 助教的作业报告是不是很专业 不交作业打屁屁 助教答疑是不是很用心 &nbsp; 有奖抢答大家玩的很嗨啊 &nbsp; &nbsp; 项目答辩终于开始啦 &nbsp; 优秀者的获奖感言 &nbsp; 这是答辩项目的效果 &nbsp; &nbsp; 这么细致的服务,这么好的氛围,这样的学习效果,需要多少钱呢? 不要1999,不要199,不要99,只要9.9 是的你没听错,只要9.9以上所有就都属于你了 如果你: 1、&nbsp;想学JAVA没有基础 2、&nbsp;想学JAVA没有整块的时间 3、&nbsp;想学JAVA没有足够的预算 还等什么?赶紧报名吧,抓紧抢位,本期只招300人,错过只有等时间待定的下一期了 &nbsp; 报名请加小助手微信:eduxy-1 &nbsp; &nbsp;

Python可以这样学(第一季:Python内功修炼)

董付国系列教材《Python程序设计基础》、《Python程序设计(第2版)》、《Python可以这样学》配套视频,讲解Python 3.5.x和3.6.x语法、内置对象用法、选择与循环以及函数设计与使用、lambda表达式用法、字符串与正则表达式应用、面向对象编程、文本文件与二进制文件操作、目录操作与系统运维、异常处理结构。

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

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

机器学习实战系列套餐(必备基础+经典算法+案例实战)

机器学习实战系列套餐以实战为出发点,帮助同学们快速掌握机器学习领域必备经典算法原理并结合Python工具包进行实战应用。建议学习顺序:1.Python必备工具包:掌握实战工具 2.机器学习算法与实战应用:数学原理与应用方法都是必备技能 3.数据挖掘实战:通过真实数据集进行项目实战。按照下列课程顺序学习即可! 课程风格通俗易懂,用最接地气的方式带领大家轻松进军机器学习!提供所有课程代码,PPT与实战数据,有任何问题欢迎随时与我讨论。

Java面试题大全(2020版)

发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 一、Java 基础 1. JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境。 JRE:Java Runtime Environ...

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

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

深度学习原理+项目实战+算法详解+主流框架(套餐)

深度学习系列课程从深度学习基础知识点开始讲解一步步进入神经网络的世界再到卷积和递归神经网络,详解各大经典网络架构。实战部分选择当下最火爆深度学习框架PyTorch与Tensorflow/Keras,全程实战演示框架核心使用与建模方法。项目实战部分选择计算机视觉与自然语言处理领域经典项目,从零开始详解算法原理,debug模式逐行代码解读。适合准备就业和转行的同学们加入学习! 建议按照下列课程顺序来进行学习 (1)掌握深度学习必备经典网络架构 (2)深度框架实战方法 (3)计算机视觉与自然语言处理项目实战。(按照课程排列顺序即可)

HoloLens2开发入门教程

本课程为HoloLens2开发入门教程,讲解部署开发环境,安装VS2019,Unity版本,Windows SDK,创建Unity项目,讲解如何使用MRTK,编辑器模拟手势交互,打包VS工程并编译部署应用到HoloLens上等。

几率大的Redis面试题(含答案)

本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构 redis的过期策略以及内存淘汰机制【~】 Redis 为什么是单线程的,优点 如何解决redis的并发竞争key问题 Red...

MFC一站式终极全套课程包

该套餐共包含从C小白到C++到MFC的全部课程,整套学下来绝对成为一名C++大牛!!!

【数据结构与算法综合实验】欢乐连连看(C++ & MFC)案例

这是武汉理工大学计算机学院数据结构与算法综合实验课程的第三次项目:欢乐连连看(C++ & MFC)迭代开发代码。运行环境:VS2017。已经实现功能:开始游戏、消子、判断胜负、提示、重排、计时、帮助。

YOLOv3目标检测实战:训练自己的数据集

YOLOv3是一种基于深度学习的端到端实时目标检测方法,以速度快见长。本课程将手把手地教大家使用labelImg标注和使用YOLOv3训练自己的数据集。课程分为三个小项目:足球目标检测(单目标检测)、梅西目标检测(单目标检测)、足球和梅西同时目标检测(两目标检测)。 本课程的YOLOv3使用Darknet,在Ubuntu系统上做项目演示。包括:安装Darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 Darknet是使用C语言实现的轻型开源深度学习框架,依赖少,可移植性好,值得深入探究。 除本课程《YOLOv3目标检测实战:训练自己的数据集》外,本人推出了有关YOLOv3目标检测的系列课程,请持续关注该系列的其它课程视频,包括: 《YOLOv3目标检测实战:交通标志识别》 《YOLOv3目标检测:原理与源码解析》 《YOLOv3目标检测:网络模型改进方法》 敬请关注并选择学习!

u-boot-2015.07.tar.bz2

uboot-2015-07最新代码,喜欢的朋友请拿去

相关热词 c# 解析cad c#数字格式化万 c#int转byte c#格式化日期 c# wpf 表格 c# 实现ad域验证登录 c#心跳包机制 c#使用fmod.dll c#dll vb 调用 c# outlook
立即提问
相关内容推荐