📄 mainframe.java
字号:
layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
.add(layout.createSequentialGroup()
.addContainerGap()
.add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
.addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem3ActionPerformed
// TODO 将在此处添加您的处理代码:
showIMG();
}//GEN-LAST:event_jMenuItem3ActionPerformed
private void showIMG(){
if(image!=null){
if(Myshow.isVisible())
Myshow.setVisible(false);
else
Myshow.setVisible(true);
}
else
return;
}
private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem1ActionPerformed
// TODO 将在此处添加您的处理代码:
openFile();
}//GEN-LAST:event_jMenuItem1ActionPerformed
private void openFile(){
JFileChooser chooser=new JFileChooser();
ExampleFileFilter filter = new ExampleFileFilter();
filter.addExtension("jpg");
filter.setDescription("jpg & JPEG");
chooser.setFileFilter(filter);
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
int returnVal = chooser.showOpenDialog(this);
if(returnVal==chooser.APPROVE_OPTION)
{
File file=chooser.getSelectedFile();
String tempPath=file.getAbsolutePath();//路径名
image=Toolkit.getDefaultToolkit().getImage(tempPath);
MediaTracker mt=new MediaTracker(this);
mt.addImage(image,0);
try {
mt.waitForAll();
}catch(InterruptedException e){
e.printStackTrace();
}
mark=0;
pre=mark;
cur=mark;
Graphics gb=buf.getGraphics();
gb.drawImage(image,0,0,210,210,this);
if(image!=null)
Myshow=new showImage(buf);
drawmap(buf);
System.out.println(file.getAbsolutePath());
}else
return ;
}
private void drawmap(Image image){
//初始化全部icon
for(int global=0;global<9;global++)
icon[global]=createImage(70,70);
//生成特定块。空块标识!
Graphics gg=icon[0].getGraphics();
gg.setColor(Color.WHITE);
gg.fillRect(0,0,70,70);
for(int i0=1;i0<3;i0++){
Graphics g=icon[i0].getGraphics();
g.drawImage(image,0,0,70,70,70*i0,0,70*i0+70,70,this);
}
for(int i1=3;i1<6;i1++){
Graphics g=icon[i1].getGraphics();
g.drawImage(image,0,0,70,70,70*(i1-3),70,70*(i1-3)+70,140,this);
}
for(int i=6;i<9;i++){
Graphics g=icon[i].getGraphics();
g.drawImage(image,0,0,70,70,70*(i-6),140,70*(i-6)+70,210,this);
}
repaintLabel(icon);
}
private void repaintLabel(Image[] icon){
L0.setIcon(new ImageIcon(icon[0]));
L1.setIcon(new ImageIcon(icon[5]));
L2.setIcon(new ImageIcon(icon[8]));
L3.setIcon(new ImageIcon(icon[3]));
L4.setIcon(new ImageIcon(icon[1]));
L5.setIcon(new ImageIcon(icon[7]));
L6.setIcon(new ImageIcon(icon[4]));
L7.setIcon(new ImageIcon(icon[6]));
L8.setIcon(new ImageIcon(icon[2]));
}
private void initHashtable(){
ht.put(0,L0);
ht.put(1,L1);
ht.put(2,L2);
ht.put(3,L3);
ht.put(4,L4);
ht.put(5,L5);
ht.put(6,L6);
ht.put(7,L7);
ht.put(8,L8);
SwingUtilities.updateComponentTreeUI(this);
}
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jMenuItem2ActionPerformed
// TODO 将在此处添加您的处理代码:
System.exit(0);
}//GEN-LAST:event_jMenuItem2ActionPerformed
private void setLookAndFeel(){
try{
UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsClassicLookAndFeel");
SwingUtilities.updateComponentTreeUI(this);
}catch(Exception e){System.out.println(e.getMessage());}
}
private void formKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_formKeyPressed
// TODO 将在此处添加您的处理代码:
keyPressed(evt);
}//GEN-LAST:event_formKeyPressed
public void keyPressed(KeyEvent evt){
int key = evt.getKeyCode();
System.out.println(key);
pre=cur;
switch(key)
{
case 27:
System.exit(0);
break;
case 10:
showIMG();
break;
case KeyEvent.VK_LEFT:
cur-=1;
break;
case KeyEvent.VK_RIGHT:
cur=cur+1;
break;
case KeyEvent.VK_UP:
cur-=3;
break;
case KeyEvent.VK_DOWN:
cur+=3;
break;
}
if(cur<0||cur>data.length-1)
cur=pre;
swapData(data,pre,cur);
//System.out.println(((JLabel)ht.get(pre)).getText());
swap((JLabel)ht.get(pre),(JLabel)ht.get(cur));
}
private void swap(JLabel a,JLabel b){
ImageIcon temp=(ImageIcon)a.getIcon();
a.setIcon(b.getIcon());
b.setIcon(temp);
}
public void swapData(int[] data,int a,int b)
{
int t=data[a];
data[a]=data[b];
data[b]=t;
repaint();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new mainFrame().setVisible(true);
}
});
}
// 变量声明 - 不进行修改//GEN-BEGIN:variables
private javax.swing.JLabel L0;
private javax.swing.JLabel L1;
private javax.swing.JLabel L2;
private javax.swing.JLabel L3;
private javax.swing.JLabel L4;
private javax.swing.JLabel L5;
private javax.swing.JLabel L6;
private javax.swing.JLabel L7;
private javax.swing.JLabel L8;
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem2;
private javax.swing.JMenuItem jMenuItem3;
private javax.swing.JPanel jPanel1;
// 变量声明结束//GEN-END:variables
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -