JAVA,如何加一个下拉菜单??

JAVA,如何加一个下拉菜单??,第1张

import java.awt.Canvas

import java.awt.Choice

import java.awt.Color

import java.awt.FlowLayout

import java.awt.Frame

import java.awt.Graphics

import java.awt.event.*

public class Sinea extends Frame implements ItemListener{

public static void main(String arg[]) {

Sinea s = new Sinea("Sine curve")

s.addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

System.exit(0)

}

})

s.setLayout(new FlowLayout())

s.setSize(430, 280)

Choice choice=new Choice()

choice.addItem("正")

choice.addItem("余")

choice.addItem("切")

choice.addItemListener((ItemListener) new Sinea())

s.add(choice)

MyCanvas cnv= new MyCanvas( )

cnv.setSize(400, 200)

cnv.setBackground(Color.white)

cnv.setForeground(Color.black)

s.add(cnv)

s.setVisible(true)// for JDK 1.5

//s.show()// for JDK 1.4

}

public Sinea(){}

public Sinea(String title)

{

super(title)

}

public void itemStateChanged(ItemEvent e){

//TODO 写事件处理方法

}

}

class P{

int marg=10, xorg=0, yorg=100, width=400, height=200

double sx = 1.0, sy = 80.0

int x, y, u, v

public P(int u, int v){

this.u = u

this.v = v

UVtoXY()

}

public void UVtoXY(){

x = xorg + marg + (int)(sx*(double)u)

y = yorg + marg - (int)(sy*(double)v)

}

public void UVtoXY(double du, double dv){

x = xorg + marg + (int)(sx*du)

y = yorg + marg - (int)(sy*dv)

}

}

class MyCanvas extends Canvas{

public void paint(Graphics g) {

int i

double u, v, frq=2.0

P org = new P(0, 0)

P x400 = new P(400, 0)

P ypone = new P(0, 1)

P ymone = new P(0, -1)

g.drawLine(org.x, org.y, x400.x, x400.y)

g.drawLine(ypone.x, ypone.y, ymone.x, ymone.y)

P pold = new P(0, 0)

P pnew = new P(0, 0)

for(i = 0i <360 i=i+1) {

u = (double)i

v = Math.sin(frq*u*Math.PI/180.0)

pnew.UVtoXY(u, v)

g.drawLine(pold.x, pold.y, pnew.x, pnew.y)

pold.x = pnew.xpold.y = pnew.y

}

}

}

//核心代码

String[] sg= {"苹果","香蕉","樱桃","山楂"}

JComboBox<String> jcb = new JComboBox<String>(sg)

完整代码

import java.awt.*

import javax.swing.*

public class MFrame extends JFrame{

public MFrame() {

String[] sg= {"苹果","香蕉","樱桃","山楂"}

JComboBox<String> jcb = new JComboBox<String>(sg)

add(jcb)

setLayout(new FlowLayout())//把JFrame设置成流式布局

setTitle("测试")//设置窗口标题

setSize(220, 100)//设置窗口大小

setLocationRelativeTo(null)//设置窗口居中

setDefaultCloseOperation(EXIT_ON_CLOSE)//设置点击关闭退出jvm虚拟机

setVisible(true)//设置窗口可见

}

public static void main(String[] args) {

new MFrame()//创建窗口

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11917943.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-19
下一篇2023-05-19

发表评论

登录后才能评论

评论列表(0条)

    保存