31/03/2022
Sudoku grid lines
import java.awt.Color;
import java.awt.Component;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class jFrameGeraSudoku extends javax.swing.JFrame {
/**
* Creates new form jFrameGeraSudoku
*/
public jFrameGeraSudoku() {
initComponents();
}
static int [][] Exist = new int [9][9];
static int Value = 0;
static int Error = 0;
static int Line = 0, Column = 0;
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
// (“unchecked”)
//
private void initComponents() {
jScrollPane1 = new javax.swing.JScrollPane();
jTableExist = new javax.swing.JTable();
jButtonValor2 = new javax.swing.JButton();
jButtonValor3 = new javax.swing.JButton();
jButtonValor4 = new javax.swing.JButton();
jButtonValor5 = new javax.swing.JButton();
jButtonValor6 = new javax.swing.JButton();
jButtonValor7 = new javax.swing.JButton();
jButtonValor8 = new javax.swing.JButton();
jLabelMenssage = new javax.swing.JLabel();
jButtonValor9 = new javax.swing.JButton();
jButtonRessetCell = new javax.swing.JButton();
jButtonValor1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
jTableExist.setFont(new java.awt.Font(“Tahoma”, 0, 24)); // NOI18N
jTableExist.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null},
{null, null, null, null, null, null, null, null, null}
},
new String [] {
“Title 1”, “Title 2”, “Title 3”, “Title 4”, “Title 5”, “Title 6”, “Title 7”, “Title 8”, “Title 9”
}
));
jTableExist.setRowHeight(40);
jTableExist.setShowGrid(true);
jTableExist.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
jTableExistMouseClicked(evt);
}
});
jScrollPane1.setViewportView(jTableExist);
jButtonValor2.setBackground(new java.awt.Color(255, 255, 255));
jButtonValor2.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jButtonValor2.setText(“2”);
jButtonValor2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonValor2ActionPerformed(evt);
}
});
jButtonValor3.setBackground(new java.awt.Color(255, 255, 255));
jButtonValor3.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jButtonValor3.setText(“3”);
jButtonValor3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonValor3ActionPerformed(evt);
}
});
jButtonValor4.setBackground(new java.awt.Color(255, 255, 255));
jButtonValor4.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jButtonValor4.setText(“4”);
jButtonValor4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonValor4ActionPerformed(evt);
}
});
jButtonValor5.setBackground(new java.awt.Color(255, 255, 255));
jButtonValor5.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jButtonValor5.setText(“5”);
jButtonValor5.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonValor5ActionPerformed(evt);
}
});
jButtonValor6.setBackground(new java.awt.Color(255, 255, 255));
jButtonValor6.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jButtonValor6.setText(“6”);
jButtonValor6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonValor6ActionPerformed(evt);
}
});
jButtonValor7.setBackground(new java.awt.Color(255, 255, 255));
jButtonValor7.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jButtonValor7.setText(“7”);
jButtonValor7.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonValor7ActionPerformed(evt);
}
});
jButtonValor8.setBackground(new java.awt.Color(255, 255, 255));
jButtonValor8.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jButtonValor8.setText(“8”);
jButtonValor8.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonValor8ActionPerformed(evt);
}
});
jLabelMenssage.setFont(new java.awt.Font(“Arial”, 0, 14)); // NOI18N
jButtonValor9.setBackground(new java.awt.Color(255, 255, 255));
jButtonValor9.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jButtonValor9.setText(“9”);
jButtonValor9.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonValor9ActionPerformed(evt);
}
});
jButtonRessetCell.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jButtonRessetCell.setText(“Resset Cell”);
jButtonRessetCell.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonRessetCellActionPerformed(evt);
}
});
jButtonValor1.setBackground(new java.awt.Color(255, 255, 255));
jButtonValor1.setFont(new java.awt.Font(“Tahoma”, 1, 14)); // NOI18N
jButtonValor1.setText(“1″);
jButtonValor1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonValor1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
addGroup(layout.createSequentialGroup()
addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
addGroup(layout.createSequentialGroup()
addComponent(jButtonValor1, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
addGap(10, 10, 10)
addComponent(jButtonValor2, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
addComponent(jButtonValor3, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
addComponent(jButtonValor4, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
addComponent(jButtonValor5, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
addComponent(jButtonValor6, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
addComponent(jButtonValor7, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
addComponent(jButtonValor8, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
addComponent(jButtonValor9))
addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
addGroup(layout.createSequentialGroup()
addGap(126, 126, 126)
addComponent(jLabelMenssage, javax.swing.GroupLayout.PREFERRED_SIZE, 222, javax.swing.GroupLayout.PREFERRED_SIZE)
addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
addGroup(layout.createSequentialGroup()
addGap(179, 179, 179)
addComponent(jButtonRessetCell)
addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
addComponent(jButtonValor2, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
addComponent(jButtonValor3, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
addComponent(jButtonValor4, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
addComponent(jButtonValor5, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
addComponent(jButtonValor6, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
addComponent(jButtonValor7, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
addComponent(jButtonValor8, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
addComponent(jButtonValor9, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
addComponent(jButtonValor1, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE))
addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 394, javax.swing.GroupLayout.PREFERRED_SIZE)
addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
addComponent(jButtonRessetCell, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
addGap(18, 18, 18)
addComponent(jLabelMenssage, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
addGap(53, 53, 53))
);
pack();
}//
private void jTableExistMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
Error = 0;
jLabelMenssage.setText(” “);
int row = jTableExist.rowAtPoint(evt.getPoint());
int col = jTableExist.columnAtPoint(evt.getPoint());
if (Value != 0){
for (int j = 0; j < 9; j++){
if (j != col){
if (Exist[row][j] == Value){
Error = 1;
jLabelMenssage.setText(“Already exist ” + Value + ” in this line”);
}
}
}
if (Error == 0){
for (int i = 0; i < 9; i++){
if(i != row){
if (Exist[i][col] == Value){
Error = 2;
jLabelMenssage.setText(“Already exist ” + Value + ” in this column”);
}
}
}
}
if(Error == 0){
Line = row / 3 * 3;
Column = col /3 * 3;
for (int i = 0; i < 3; i++){
for (int j = 0; j < 3; j++){
if (Exist[Line+i][Column+j] == Value){
Error = 3;
jLabelMenssage.setText(“Already exist ” + Value + ” in this box”);
}
}
}
}
if (Error == 0){
Exist [row][col] = Value;
jTableExist.setValueAt (Value, row, col);
}
}
else {
jTableExist.setValueAt (” “, row, col);
Exist [row][col] = 0;
}
}
private void jButtonValor2ActionPerformed(java.awt.event.ActionEvent evt) {
Value = 2;
this.RessetForegoundColor();
jButtonValor2.setBackground(Color.RED);
}
private void jButtonValor3ActionPerformed(java.awt.event.ActionEvent evt) {
Value = 3;
this.RessetForegoundColor();
jButtonValor3.setBackground(Color.RED);
}
private void jButtonValor4ActionPerformed(java.awt.event.ActionEvent evt) {
Value = 4;
this.RessetForegoundColor();
jButtonValor4.setBackground(Color.RED);
}
private void jButtonValor5ActionPerformed(java.awt.event.ActionEvent evt) {
Value = 5;
this.RessetForegoundColor();
jButtonValor5.setBackground(Color.RED);
}
private void jButtonValor6ActionPerformed(java.awt.event.ActionEvent evt) {
Value = 6;
this.RessetForegoundColor();
jButtonValor6.setBackground(Color.RED);
}
private void jButtonValor7ActionPerformed(java.awt.event.ActionEvent evt) {
Value = 7;
this.RessetForegoundColor();
jButtonValor7.setBackground(Color.RED);
}
private void jButtonValor8ActionPerformed(java.awt.event.ActionEvent evt) {
Value = 8;
this.RessetForegoundColor();
jButtonValor8.setBackground(Color.RED);
}
private void jButtonValor9ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Value = 9;
this.RessetForegoundColor();
jButtonValor9.setBackground(Color.RED);
}
private void jButtonRessetCellActionPerformed(java.awt.event.ActionEvent evt) {
Value = 0;// TODO add your handling code here:
this.RessetForegoundColor();
jButtonRessetCell.setBackground(Color.RED);
}
private void jButtonValor1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Value = 1;// TODO add your handling code here:
this.RessetForegoundColor();
jButtonValor1.setBackground(Color.RED);
}
/**
* args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if (“Nimbus”.equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(jFrameGeraSudoku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(jFrameGeraSudoku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(jFrameGeraSudoku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(jFrameGeraSudoku.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new jFrameGeraSudoku().setVisible(true);
}
});
}
void RessetForegoundColor(){
jButtonValor1.setBackground(Color.WHITE);
jButtonValor2.setBackground(Color.WHITE);
jButtonValor3.setBackground(Color.WHITE);
jButtonValor4.setBackground(Color.WHITE);
jButtonValor5.setBackground(Color.WHITE);
jButtonValor6.setBackground(Color.WHITE);
jButtonValor7.setBackground(Color.WHITE);
jButtonValor8.setBackground(Color.WHITE);
jButtonValor9.setBackground(Color.WHITE);
jButtonRessetCell.setBackground(Color.WHITE);
}
// Variables declaration – do not modify
private javax.swing.JButton jButtonRessetCell;
private javax.swing.JButton jButtonValor1;
private javax.swing.JButton jButtonValor2;
private javax.swing.JButton jButtonValor3;
private javax.swing.JButton jButtonValor4;
private javax.swing.JButton jButtonValor5;
private javax.swing.JButton jButtonValor6;
private javax.swing.JButton jButtonValor7;
private javax.swing.JButton jButtonValor8;
private javax.swing.JButton jButtonValor9;
private javax.swing.JLabel jLabelMenssage;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTableExist;
// End of variables declaration
}
import java.awt.Color; import java.awt.Component; import java.awt.BorderLayout; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTable; public class jFrameGeraSudoku extends javax.swing.JFrame { /** * Creates new form jFrameGeraSudoku */ public jFrameGeraSudoku() { init...