
import javax.swing.*
import javax.swing.border.Border
import java.awt.*
import java.awt.event.*
public class login extends JFrame {
JLabel JLabel_name = new JLabel("请输入用户名")
JLabel JLabel_pwd = new JLabel("请输入密码")
JLabel JLabel_tip = new JLabel("离线状态")
JTextField JText_field = new JTextField()
JPasswordField Jpassword = new JPasswordField()
JButton Jbtn = new JButton("确定")
public login() {
setLayout(new GridLayout(0,2)) //设置为网格布局,未指定行数
setFont(new Font("Helvetica", Font.PLAIN, 14))
getContentPane().add(JLabel_name)
getContentPane().add(JText_field)
getContentPane().add(JLabel_pwd)
getContentPane().add(Jpassword)
Jpassword.setEchoChar('*')
getContentPane().add(Jbtn)
getContentPane().add(JLabel_tip)
setPreferredSize(new Dimension(400,230))
//给容器设置边框
Border padding = BorderFactory.createEmptyBorder()
Border border = BorderFactory.createLineBorder(Color.black,1)
border = BorderFactory.createCompoundBorder(border,padding)
Border margin = BorderFactory.createEmptyBorder(10,8,10,8)
border = BorderFactory.createCompoundBorder(margin,border)
JText_field.setBorder(border)
Jpassword.setBorder(border)
MyButtonListener listener = new MyButtonListener()
//把监听器注册给按钮
Jbtn.addActionListener(listener)
}
public void ChangeText() {
String userName = JText_field.getText().trim()
String password=new String(Jpassword.getPassword())
if(userName.equals("000") &password.equals("111")) {
JLabel_tip.setText("欢迎您,"+userName)
}
else {
JLabel_tip.setText("用户名或密码错误")
}
}
//ActionListener是一个interface(接口)
private class MyButtonListener implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
//当按钮被点击时,Swing框架会调用监听器的actionPerformed()方法
//内部类调用外部方法
login.this.ChangeText()
}
}
public static void main(String args[]) {
login f = new login()
//一个图形界面默认都是不可见的,setVisible是把图形界面设置为可见
f.setTitle("GridWindow Application")
/*
* pack() - 类 java.awt.Window 中的方法
* 调整此窗口的大小,以适合其子组件的首选大小和布局
*/
f.pack()
f.setSize(400,300)
f.setVisible(true)
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
f.setLocationRelativeTo(null)//让窗体居中显示
f.addWindowListener(new WindowAdapter() {
public void WindowClosing(WindowEvent e) {
System.exit(0)
}
})
}
}
最简单的方法是用vc6新建一个Win32 Application空工程,然后添加一个cpp文件,输入\x0d\x0a(注意添加对话框资源,并且在对话框上添加一个文本框)\x0d\x0a#include \x0d\x0a#include "resource.h"\x0d\x0a \x0d\x0a// DialogProc, 枚举窗口对话框过程. \x0d\x0aint CALLBACK DialogProc( HWND hdlg, UINT uMsg, WPARAM wParam, LPARAM lParam){\x0d\x0aswitch(uMsg){\x0d\x0acase WM_INITDIALOG:{ \x0d\x0aSendDlgItemMessage(hdlg,IDC_EDIT1,EM_REPLACESEL,0,(long)"文本......")\x0d\x0a}break\x0d\x0a\x0d\x0acase WM_DESTROY: break \x0d\x0acase WM_COMMAND:\x0d\x0aswitch(LOWORD(wParam)){ \x0d\x0acase IDCANCEL: \x0d\x0acase IDOK:{ \x0d\x0a// DestroyWindow(hdlg)\x0d\x0aEndDialog(hdlg,0)\x0d\x0a} break\x0d\x0a\x0d\x0adefault: break // switch(LOWORD(wParam))} break // case WM_COMMAND: \x0d\x0a} // switch(uMsg)\x0d\x0areturn false}\x0d\x0a \x0d\x0aint WINAPI WinMain(HINSTANCE hInst, HINSTANCE,LPSTR,int){ \x0d\x0a// HWND hDialog=CreateDialog(hInst,(LPCTSTR)IDD_DIALOG1,0L,DialogProc) \x0d\x0areturn DialogBox(hInst,(LPCTSTR)IDD_DIALOG1,0L,DialogProc)}看了你的问题,几个回答似乎都不完全对。给你补充一下吧。
你的问题与flask基本上没有关系。flask是一个简单的微型编程框架,很优美,也很简单好用。不过它仅仅实现了基于HTTP协议的服务端交互部分。
一个界面设计除了服务端交互,还需要本地交互(用JS,
flash实现),最重要的还是需要客户端界面(用HTML+CSS+JS实现)。文件上传需要(JQUERY+UPLOADFILE库)
从上面的回答看,你似乎刚开始着手做这些。我建议你按这个思路去做。
先学习html2.0,不是4.01,也不是5.0,因为2.0更基本。然后用frame和table做出你的界面,先实现左边的部分
然后学习css,把你左边的两个按钮搞定。用TABLE也可以,比如笨。然后用CSS将frame方式换成iframe实现
用传统的html方式实现右边的上传下载
学习jquery,用其中uploadfile功能重新实现右边的上传功能
如果你学得快,需要1个星期,学得慢就说不准了,也许3个星期完成。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)